0

Update ... Set ... Where ... を呼び出して、邪悪な ERP プロセスが別のフィールドの値を変更したらすぐにフィールドを更新したいと思います。

私はMS SQLを実行しています。

4

3 に答える 3

3

トリガーを使用して、他のフィールドを更新できます。

編集:実行しているSQLesqueデータベースに依存する可能性があると思います。

于 2009-01-24T15:06:22.580 に答える
3

テストできませんが、このようなトリガーだと思います

CREATE TRIGGER TriggerName ON TableName FOR UPDATE AS
  IF UPDATE(ColumnUpdatedByERP)
  始める
    アップデート ...
  終わり

-- 編集 - より良いバージョン、コメント Tomalak に感謝

 
CREATE TRIGGER TriggerName ON TableName FOR UPDATE AS
  DECLARE @oldValue VARCHAR(100)
  DECLARE @newValue VARCHAR(100)
  IF UPDATE(ColumnUpdatedByERP)
  始める
    SELECT @oldValue = (SELECT ColumnUpdatedByERP FROM 削除済み)
    SELECT @newValue = (SELECT ColumnUpdatedByERP FROM Inserted)
    IF @oldValue <> @newValue
    始める
      アップデート ...
    終わり
  終わり
于 2009-01-24T15:30:56.383 に答える
1

トリガーを使用したいのですが、選択した回答のバグには非常に注意しています。複数のレコードに関するBrent Ozar のよく書かれた投稿http://www.brentozar.com/archive/2009/01/triggers-need-to-handle-multiple-records/を参照してください。

于 2009-01-25T02:36:22.327 に答える