我希望刪除表中的所有約束條件。 (基於網絡的東西找到)是動態創建的下降語句作爲選擇的結果 由於這是不可能在SQL Server中,我創建了一個腳本:如何執行一個動態創建的sql語句
SELECT 'ALTER TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME + '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']'
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
AND TABLE_NAME LIKE 'Old_%''
這做,我可以」 t找到如何解析它並在循環中執行它。
我的嘗試是建立一個光標這樣的,但我不知道,然後讓它執行各行:
DECLARE @AlterTables nvarchar(2000)
SET @AlterTables = 'DECLARE Dyn_cursor CURSOR
FOR SELECT ''ALTER TABLE '' + TABLE_SCHEMA + ''.['' + TABLE_NAME + ''] DROP CONSTRAINT ['' + CONSTRAINT_NAME + '']''
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = ''FOREIGN KEY''
AND TABLE_NAME LIKE ''Old_%'''
Exec(@AlterTables)
Open Dyn_Cursor
FETCH NEXT FROM Dyn_Cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
END
Close Dyn_cursor
Deallocate Dyn_cursor
預先感謝您給誰將會有專門的解決方案!
歡呼
J.