2011-06-01 73 views

回答

0

據我所知在MsSql中沒有一個命令,但可以使用INFORMATION_SCHEMA和動態SQL。

事情是這樣的:

DECLARE @database nvarchar(50) 
DECLARE @table nvarchar(50) 

set @database = 'MyDatabase' 
set @table = 'MyTable' 

DECLARE @sql nvarchar(255) 
WHILE EXISTS(select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where constraint_catalog = @database and table_name = @table) 
BEGIN 
    select @sql = 'ALTER TABLE ' + @table + ' DROP CONSTRAINT ' + CONSTRAINT_NAME 
    from INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
    where constraint_catalog = @database and 
      table_name = @table 
    exec sp_executesql @sql 
END 
+0

謝謝底馬的答案,但我想,如果有可能的工具爲單行。如果有任何線索,你會找到我。 – yayayokoho3 2011-06-01 09:31:10

+0

您可以從此代碼創建存儲過程,並將其用作單行工具:) – demas 2011-06-01 09:33:44

+0

當然,您的建議很好。如果我們真的沒有任何MSSQL的單行SYNTAX,我認爲我們沒有選擇,而不是你所建議的。再次感謝你。 – yayayokoho3 2011-06-02 04:15:38