0
我之前沒有使用過觸發器,所以這是一個'工作'第一次刺我需要實現的東西。 一旦我在VCODE字段中輸入值'V'或'AV',觸發器會填充VSYS,SITE_CODE,VAREA &所需的值,然後將這些值連接到ASSET_TAG字段。更新觸發器和連接之後
我不認爲這是執行此操作的最有效方式,那麼有人可能會在SQL域中看到我的混亂腳本,並建議最有效的方法來實現相同的結果。
感謝
Trigger [dbo].[trValve]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create trigger [dbo].[trValve] on [dbo].[Valve]
after update
as
Begin
set nocount on;
update Valve Set VSYS = 'VLV'
from Valve t
inner join inserted i on t.pkID = i.pkID
and i.VCODE='V' or
i.VCODE = 'AV'
Begin
set nocount on;
update Valve
Set SITE_CODE = '00123'
from Valve t
inner join inserted i on t.pkID = i.pkID
and i.VCODE='V' or
i.VCODE = 'AV'
Begin
set nocount on;
update Valve
Set VAREA = 'INL'
from Valve t
inner join inserted i on t.pkID = i.pkID
and i.VCODE='V' or
i.VCODE = 'AV'
Begin
set nocount on;
update VALVE
SET ASSET_TAG = CONCAT(Valve.SITE_CODE,'-',Valve.VAREA,'-', valve.VSYS,'-',Cast (pkID As Varchar(50)));
End
End
End
End
End
也是我應包括在原崗位一兩件事,我有現有的記載,被添加到項目的另一個版本的Valve表中,因此VCODE字段在創建此觸發器之前已填充,是否有一種方法可以讓我更新此觸發器以便在我的其他項目閥表上回顧填充記錄集? –