0
私は機能面では(私のテストで知る限り)このトリガーを持っていますが、IF UPDATEを使用してコードを単純化することができると強く思っています...私は、挿入されたテーブルと削除されたテーブルの観点から、最も優れたうねりのないトリガーをやっているようです。これらの結合は、AFTER INSERT、UPDATEのトリガーになります。 IF UPDATE(列...)を使用するには?
このトリガーは、私が言及したように(または読みやすさを向上させる方法で)簡略化できますか?
CREATE TRIGGER [dbo].[tr_Affiliate_IU]
ON [dbo].[Affiliate]
AFTER INSERT, UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Get the current date.
DECLARE @getDate DATETIME = GETDATE()
-- Set the initial values of date_created and date_modified.
UPDATE
dbo.Affiliate
SET
date_created = @getDate
FROM
dbo.Affiliate A
INNER JOIN INSERTED I ON A.id = I.id
LEFT OUTER JOIN DELETED D ON I.id = D.id
WHERE
D.id IS NULL
-- Ensure the value of date_created does never changes.
-- Update the value of date_modified to the current date.
UPDATE
dbo.Affiliate
SET
date_created = D.date_created
,date_modified = @getDate
FROM
dbo.Affiliate A
INNER JOIN INSERTED I ON A.id = I.id
INNER JOIN DELETED D ON I.id = D.id
END
これはちょうど私が望んでいた助けの種類です、ありがとう! –