我在SQL Server 2005中有2个表
Emp_No和Edu_No字段是自动增加的数字。
关系1到很多
我想创建存储过程以同时保存两个表的数据。 防爆。输入数据
Emp_No Emp_Name
1 Jonh
Edu_No Edu_Name Emp_No
1 IT 1
2 Bussiness 1
3 Marketing 1
请帮忙。感谢。
答案 0 :(得分:0)
如果我理解正确,以下程序将起作用:
CREATE PROCEDURE insert_both
AS
BEGIN
INSERT INTO tblEmployee(Emp_Name) VALUES('John')
DECLARE @emp_key int
SET @emp_key = SCOPE_IDENTITY()
INSERT INTO tblEducation(Edu_Name, Emp_No) VALUES('IT',@emp_key);
INSERT INTO tblEducation(Edu_Name, Emp_No) VALUES('Business',@emp_key);
INSERT INTO tblEducation(Edu_Name, Emp_No) VALUES('Marketing',@emp_key);
END
答案 1 :(得分:0)
DECLARE @emID int
INERT INTO tblEmployee(Emp_Name) VALUES('NAME_OF_EM');
@emID = SCOPE_IDENTITY()
-- INSET Education
INERT INTO tblEducation (Edu_Name, Emp_No) VALUES('IT', emID );
INERT INTO tblEducation (Edu_Name, Emp_No) VALUES('Bussiness', emID );
您可以通过SCOPE_IDENTITY()获取最后一次自动增加号码。