Table User
Userid(number)
is_updated(char)
Table Version
Version_number(number)
userid(number)
バージョンテーブルに値を挿入/更新する場合、トリガーを使用してis_updated列を更新したいのですが、更新/挿入された行のユーザーIDを取得するにはどうすればよいですか?
トリガーを使うのはこれが初めてです誰かが私を助けることができます
Table User
Userid(number)
is_updated(char)
Table Version
Version_number(number)
userid(number)
バージョンテーブルに値を挿入/更新する場合、トリガーを使用してis_updated列を更新したいのですが、更新/挿入された行のユーザーIDを取得するにはどうすればよいですか?
トリガーを使うのはこれが初めてです誰かが私を助けることができます
このような質問を投稿する前に、 CREATETRIGGERステートメントに関するオンラインブックのドキュメントを確認する必要があります。トリガーは、挿入および削除された2つの特別な仮想テーブルを継承する特別なストアドプロシージャにすぎません。したがって、次のようなものを試してください。
create trigger dbo.version_TR01
on dbo.version
for insert, update
as
begin
--
-- make sure everybody has a row in the user table
--
insert dbo.[user]( user_id , is_updated )
select i.user_id , 'F'
from inserted i
where not exists ( select *
from dbo.[user] u
where u.user_id = i.user_id
)
--
-- mark everybody as updated
--
update dbo.[user]
set is_updated = 'T'
from dbo.[user] u
join inserted i on i.user_id = u.user_id
end
それはそれについてする必要があります。