![](/img/trans.png)
[英]How to replace a existing column value with new column value in a table using self join in SQL Server?
[英]Inserting existing column value into a new table when updating the existing value in SQL Server
我是SQL Server的新手。
我需要一個答案,我有一個表tblemployee
,列是
empid,
name,
paddr1,
paddr2,
pcity,
pstate,
pzip,
caddr1,
caddr2,
ccity,
cstate,
czip
我有另一個表tblpaddresshistory
並且列是
paddrlistid,
paddr1,
paddr2,
pcity,
pstate,
pzip
我還有另一個表tblcaddresshistory
與這些列
caddrlistid,
caddr1,
caddr2,
ccity,
cstate,
czip
這里是我的問題:當我更新tblemployee
列值的paddr1, paddr2, pcity, pstate, pzip, caddr1, caddr2, ccity, cstate, czip
,舊的值應該插入tblpaddresshistory
和tblcaddresshistory
和新的價值觀應該是在tblemployee
更新。
Try with this trigger
CREATE TRIGGER dbo.tr_tblemployee
ON dbo.tblemployee
AFTER UPDATE
AS
BEGIN
IF ( UPDATE(paddr1)
OR UPDATE(paddr2)
OR UPDATE (pcity)
OR UPDATE(pstate)
OR UPDATE(pzip) )
BEGIN
INSERT INTO dbo.tblpaddresshistory
(paddr1,
paddr2,
pcity,
pstate,
pzip)
SELECT paddr1,
paddr2,
pcity,
pstate,
pzip
FROM deleted;
END
IF ( UPDATE(caddr1)
OR UPDATE(caddr2)
OR UPDATE (ccity)
OR UPDATE(cstate)
OR UPDATE(czip) )
BEGIN
INSERT INTO dbo.tblcaddresshistory
(caddr1,
caddr2,
ccity,
cstate,
czip)
SELECT caddr1,
caddr2,
ccity,
cstate,
czip
FROM deleted;
END
END;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.