0

私の質問は、Oracledrop table table_name cascade constraintsでは参照テーブルオブジェクトを削除するために使用できるということです。SQL Serverで同じことを実現するにはどうすればよいですか?

4

2 に答える 2

0

私が知っているように、MsSqlには1つのコマンドはありませんが、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
于 2011-06-01T06:05:11.300 に答える
0

依存オブジェクトのすべての制約を変更/削除するスクリプトを Management Studio に生成させるオプションがあります。

ここで説明を見つけましたSQL Serverドロップテーブルカスケードと同等

于 2011-08-25T14:35:47.280 に答える