2

トリガーを次のように定義しました。

CREATE TRIGGER [dbo].[trtablename]
    ON [dbo].[tablename]
    AFTER UPDATE
    AS update tablename set row_version = row_version + 1 
       where id in (select id from inserted)

というフィールドがありますRow_Status。フィールドをインクリメントせずに変更する必要がありますrow_version。トリガーでそのような条件を作成するにはどうすればよいですか?

4

2 に答える 2

2

関数を使用することの唯一のUPDATE欠点は、更新ステートメントでフィールドが言及されていても true になることです。それ自体に設定されている場合でも。

CREATE TRIGGER [dbo].[trtablename]
ON [dbo].[tablename]
AFTER UPDATE
AS
IF NOT UPDATE (Row_Status) 
    update tablename set row_version = row_version + 1 
       where id in (select id from inserted)
于 2013-07-05T11:40:06.537 に答える