目的:
当update 表1 中数据时,启动触发器,将那条update的数据中某个字段 insert到另外一个表。
问题:
我怎么知道当时update的是哪条数据?
触发器:
  CREATE TRIGGER [check] ON [dbo].[bank_back] 
for  UPDATE 
AS
declare @name char(50)
select @name=username from  bank_back --这个地方怎么找到那条被update的数据
insert into fsk_ck(un) values(@name)

解决方案 »

  1.   

    触发器中有两个虚拟表,update的时候虚拟表deleted里存的就是修改前的数据,inserted存的是修改后的数据
      

  2.   

    你要修改前的数据还是修改后的修改前:
    CREATE TRIGGER [check_b] ON [dbo].[bank_back]  
    for UPDATE  
    AS
    insert into fsk_ck(un) 
    select username from deleted go 
    修改后:
    CREATE TRIGGER [check_a] ON [dbo].[bank_back]  
    for UPDATE  
    AS
    insert into fsk_ck(un) 
    select username from inserted go