我在写一个触发器:
有如下两张表
salary_vs_personID是主表;
salary_detail_present是子表
我在主表中建立触发器:CREATE TRIGGER insert_salary_data ON [dbo].[salary_vs_personID] 
FOR INSERT
AS
begin
insert into salary_detail_present(人员ID,工资项目编码,工资表标识)
select b.人员ID,a.工资项目编码,b.工资表标识
from item_dictionary a,salary_vs_personID b
where b.工资表标识=a.工资表标识
//*************************************
and b.人员ID='在这里我想得到主表新插入的"人员ID"的值'
//***************************************
end
请问各位我在我应该如何才能得到主表中的"人员ID"的新插入的值?谢谢!

解决方案 »

  1.   


    CREATE   TRIGGER   insert_salary_data   ON   [dbo].[salary_vs_personID]   
    FOR   INSERT 
    AS 
    begin 
    insert   into   salary_detail_present(人员ID,工资项目编码,工资表标识) 
    select   b.人员ID,a.工资项目编码,b.工资表标识 
    from   item_dictionary   a,salary_vs_personID   b ,Inserted c
    where   b.工资表标识=a.工资表标识 
    //************************************* 
    and   b.人员ID=c.人员ID
    //*************************************** 
    end 
      

  2.   

    CREATE TRIGGER insert_salary_data ON [dbo].[salary_vs_personID] 
    FOR INSERT AS 
    begin 
      insert into salary_detail_present(人员ID,工资项目编码,工资表标识) 
      select b.人员ID,a.工资项目编码,b.工资表标识 
      from item_dictionary a,salary_vs_personID b ,Inserted c 
      where b.工资表标识=a.工资表标识 
      and b.人员ID=c.人员ID -- 把这句放开即可
    end 
      

  3.   

    谢谢楼上的.
    不过想多问一句.
    Inserted代表什么?
      

  4.   

    CREATE   TRIGGER   insert_salary_data   ON   [dbo].[salary_vs_personID]   
    FOR   INSERT 
    AS 
    begin 
    insert   into   salary_detail_present(人员ID,工资项目编码,工资表标识) 
    select   b.人员ID,a.工资项目编码,b.工资表标识 
    from   item_dictionary   a,salary_vs_personID   b ,Inserted
    where   b.工资表标识=a.工资表标识 and  b.人员ID=Inserted.人员ID
    end
    表示插入的记录