2016-12-22 26 views
-3

特定の列が更新トリガー(または多分何か)がストップナンバーを選択できるようにテーブル上で更新されると列は、datetimeが更新されたのと同じ行から取得します。ストップナンバーとカラムのデータを更新前後に別のテーブルに取り込みたい。私はSQLで大丈夫ですが、私は専門家ではないので、これを達成する方法について考えることはできません。更新されたデータを取得して他の行データを選択するためのSQL更新トリガー

可能ですか?

+1

いくつかのサンプルデータで説明し、期待される結果を説明してください。 – TheGameiswar

+1

ヒント: 'inserted'と' deleted'は、set操作の結果を表すことができるようにテーブルです。常に正確に1つの行を処理するという前提でトリガーを設計するのは、一般的には悪い計画です。もしあなたが絶対に確実であれば、複数の行が存在することはありません。そして、行数のチェックを追加し、 'RaIsError'または' Throw'を使って、後に来て、容認できない文を実行しようとしたことを明示します。 1つのRaIsError( 'FooTable_Insert:複数行は処理できません'、25,42)with log') – HABO

+0

また、何をしても何も実行しないでくださいトリガー内で長時間実行されるプロセス入り、出てください。個別の独立したプロセスで、トリガー外でキャプチャしたデータを処理します。 –

答えて

0

はい、そうです。 thisまで読んでください。基本的には、トリガーで照会できる、削除されて挿入された2つの仮想テーブルがあります。削除されている行が削除され、挿入されている行が挿入されています(推測したもの)。

「どのように役立ちますか?私は更新を行っています。」確かに更新は効果的に削除に続いて挿入されるので、更新後のトリガーでは削除された古い値を取得できます。

+0

これは、挿入されたテーブルと削除されたテーブルの行全体が更新されていることを、更新ステートメントの1つの行から1つの列だけを更新するということです。 – Aaron

+0

はい。削除されたテーブルは古い行全体と挿入された新しい行を保持します。インテリセンスには同じ列名が表示されます。 –

+0

私は彼らが変更だけを収容していると思った。さて、これは私の問題を解決する! – Aaron

関連する問題