dbo.Auftrag
如果子表dbo.Positionen
中的所有相关列都与此 SQL 过时,我更新表:
UPDATE dbo.Auftrag
SET Status = 5
WHERE NOT EXISTS (SELECT *
FROM dbo.Positionen
WHERE dbo.Positionen.FremdID = dbo.Auftrag.ID
AND dbo.Positionen.Lieferdatum >= convert(date, getdate()))
现在我想在同样的情况下,如果Status
设置为1
表中的dbo.Eventlog
一个新行,将添加一个ID
来自表的新行dbo.Auftrag
(状态更改)
我将在以下内容中插入类似的内容dbo.Eventlog
:
ID ID_Auftrag Referenz Benutzer [Datum und Uhrzeit] Ereignis
PK(AI) dbo.Auftrag.ID dbo.Auftrag.Ref "BW" CURRENT_TIMESTAMP "Set Status"
我该如何存档?
创建触发器如下
CREATE TRIGGER AfterupdateAuftrag
ON dbo.Auftrag
AFTER UPDATE
AS
DECLARE @ID AS INT
DECLARE @STATUS AS INT
DECLARE @Referenz as nvarchar(50)
SELECT @ID=ID,@STATUS=status,@Referenz=Ref FROM inserted
if @status=5 and convert(time, GETDATE(), 108) between cast('00:00:00' as time) and cast('00:05:00' as time)
INSERT INTO dbo.Eventlog(ID_Auftrag,Referenz,Benutzer,[Datum und Uhrzeit],Ereignis) VALUES (
@id,@Referenz,'BW',getdate(),'Set Status')
GO
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句