3

大量のデータの挿入と変更に必要になる場合があります。

4

4 に答える 4

11

すべての FK を無効にします。

EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
GO

すべての FK を有効にします。

EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"
GO

すべてのトリガーを無効にします。

EXEC sp_MSforeachtable @command1="ALTER TABLE ? DISABLE TRIGGER ALL"
GO

すべてのトリガーを有効にします。

EXEC sp_MSforeachtable @command1="ALTER TABLE ? ENABLE TRIGGER ALL"
GO

もちろん、これより前に FK/トリガーを無効にしていた場合は、有効化スクリプトがこれらを再度有効にすることに注意してください。

于 2013-11-01T14:15:10.647 に答える
0

テーブル内のすべての FK を無効にするには:

ALTER TABLE Table2 NOCHECK CONSTRAINT ALL

テーブル内の単一の FK を無効にするには:

ALTER TABLE Table2 NOCHECK CONSTRAINT FK_Table2_Table1

NOCHECKそれらを有効にするには、に置き換えCHECKます。

于 2013-11-01T14:11:17.703 に答える
-1

1 つのステートメントでトリガーを無効にする

DISABLE TRIGGERおよびENABLE TRIGGER- 構文については MSDN を確認してください。たとえば、Google で次のように検索します: DISABLE TRIGGER t-sql

たとえば、すべてのサーバーですべてのトリガーを無効にします。-- サーバー レベルで定義されたすべての DML トリガーとすべてのログオン トリガーを無効にします。

単一のステートメントですべての FK を無効にする組み込みの方法はありません。

于 2013-11-01T13:46:39.097 に答える