0

私はSql Serverとトリガーを使用しています。

以前は、Oracle とトリガーを使用していました。Oracle には、FOR EACH ROW トリガーという機能があります。

Sql Server 2000 および 2005 はこれをサポートしていませんが、どのバージョンがこれをサポートしていますか。

よろしく

4

2 に答える 2

2

SQL Server には同等のものはありません。行ごとの相関関係を取得するには、明示的に一致させる必要がある INSERTED および DELETED テーブルのみを使用します。テーブルに不変の GUID または ID 列 (代理キー) がない特定のケースでは、それらを一致させることができない場合があります。

トリガーを使用する必要がある場合にそのような識別子があることを確認するか、または識別子キーの変更を伴う更新が一度に 1 行のみ発生できるようにするかは、スキーマの設計次第です。

于 2012-11-14T08:25:43.297 に答える
1

FOR EACH ROWいいえ、SQL Server にはトリガーがありません。inserted仮想テーブルと仮想テーブルを検査する必要がありdeletedます。それらに対してセットベースの操作を実行するか、カーソルを使用してそれらを反復処理します。

于 2012-11-14T08:26:28.187 に答える