我在写一个触发器:
有如下两张表
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"的新插入的值?谢谢!
有如下两张表
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"的新插入的值?谢谢!
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
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
不过想多问一句.
Inserted代表什么?
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
表示插入的记录