我有表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

10-04 20:27