2011-12-29 16 views
0

SQL Serverのパフォーマンスを良好に保つために一時テーブルを使用しています。テンポラリテーブルからデータを削除するときにデータを本番テーブルに挿入するトリガを作成しました。一時テーブルからデータレコードを削除すると、最初のレコードのみが挿入されるという問題が発生します。削除されたデータ(複数のレコード)を生産テーブルに保存するトリガーを作成する方法

削除したデータレコードから選択したレコードを保存できますか?たとえば、私は、フィールドPOST =に「T」は

+0

トリガーコードを投稿してください – msmucker0527

答えて

0

これは、次の行

CREATE TRIGGER YourTrigger 
ON Staging 
AFTER DELETE 
AS 
INSERT INTO Production 
SELECT * 
FROM DELETED 

に沿って非常にシンプルな要件であることを生産表にそれらのレコードを保存したい。しかしOUTPUT句を使用すると、うまくかもしれとにかくトリガーよりも効率的です

DELETE Staging 
OUTPUT DELETED.* 
INTO Production 
+0

ありがとうございました!!! – user734781

+0

削除したデータレコードから選択したレコードを保存できますか?たとえば、フィールドPOST = 'T'にあるレコードを生産テーブルに保存したいとします。 – user734781

+0

@ user734781 - 出力節は使用していませんが、トリガーで使用できます。 'DELETED'から' SELECT'に 'WHERE'節を追加するだけです –

関連する問題