4

SqlBulkCopy を使用してテーブルに一括レコードを挿入するアプリケーションがあります。最初のテーブルに追加されたレコードを別のテーブルに挿入するトリガーがあります。

挿入するときに、C# で SqlBulkCopyOptions.FireTriggers を記述しましたが、Sql Server 2005 では動作しません。SqlServer2008 で動作すると、正常に動作します。

Sql サーバー 2005 では、レコードが最初のテーブルに挿入されるたびに、INSERTED 行から 1 つのレコードのみが 2 番目のテーブルに表示されます。

これを Sql Server だけで管理できますか?

4

1 に答える 1

0

ここでの 1 つのオプションは、ステージング テーブル (2 番目の単純なテーブル - メイン データ モデルの一部ではありません。通常、インデックス作成、制約、トリガーなどはありません) に一括コピーし、SELECT-basedINSERTを発行してデータを取得することです。ステージング テーブルをメインのトランザクション テーブルに。これにより、 の帯域幅の利点を得ることができますがSqlBulkCopy、最終的なINSERT.

于 2013-10-01T09:06:29.733 に答える