簡體   English   中英

在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 ,舊的值應該插入tblpaddresshistorytblcaddresshistory和新的價值觀應該是在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM