我有表Person(idPerson int PK,名称varchar(20)),还有子表Employee(idPerson int PK,工作场所varchar(20),idPerson参考Person(idPerson))。
是否可以直接插入到表Employee中,或者我需要先插入到表Person中,然后插入具有对应idPerson的Empolyee中?
我该如何插入程序和事务?
最佳答案
尝试此存储过程。
CREATE PROCEDURE [dbo].[abcInsert]
@idPerson INT ,
@Name VARCHAR(255) = 'abc',
@work VARCHAR (50)='abcb'
AS
SET NOCOUNT ON
BEGIN
INSERT INTO dbo.Person WITH ( ROWLOCK )
( Name )
VALUES ( @Name )
DECLARE @ID INT
SET @ID = @@IDENTITY
INSERT INTO dbo.Employee WITH ( ROWLOCK )
( idPerson, Workplace )
VALUES ( @ID, @work )
END