1

私はtable1列を持っています(date, field1, field2, field3, field4, field5, field6, field7, field8

列のある別のものtable2があります(date, field1,someothercolumns, field3, field5, field7, unrelatedcolumns1, someothercolumns2

これで、新しいデータがにインポートされるたびにtable2、列(date, field1, field3, field5, field7)からのデータも自動的に( )table2にコピーされるようにしたいと思います。table1date, field1, field3, field5, field7

に欠落している列table1はnull値を持つ可能性があります

トリガーまたは任意のストアドプロシージャを使用することは可能ですか?

4

1 に答える 1

1

次のようなことを試してください:

CREATE TRIGGER YourTriggerName
ON dbo.Table2
AFTER INSERT 
AS BEGIN

   INSERT INTO dbo.Table1(date, field1, field3, field5, field7)
     SELECT
         date, field1, field3, field5, field7
     FROM
         Inserted
END

トリガーでは、トリガーを起動させたステートメントによって影響を受けたすべての行を含む「疑似」テーブルInserted(およびDeletedforUPDATEとトリガー) にアクセスできます。DELETE

これは重要ですINSERT。10 行を挿入するステートメントがある場合、トリガーは1 回起動し、疑似テーブルInsertedには 10 行が含まれます。トリガーが挿入される行ごとに 1 回起動すると想定しないでください。そうではありません。

したがって、このトリガーでは、INSERTintotable2が発生するたびに、問題の列が疑似テーブルから抽出され、Insertedに挿入されtable1ます。

それはあなたの問題を解決しますか?

于 2012-08-20T20:57:59.447 に答える