事物
在存储过程中使用事物
SET XACT_ABORT ON;
BEGIN TRAN
--中间是代码块
COMMIT TRAN
获取最近插入数据的主键
方法一 [SCOPE_IDENTITY()]
--新建一家空的公司
INSERT INTO Company
(
SystemCompanyAID --劳服公司AID
, StateID
)
VALUES
(
@SystemCompanyAID --劳服公司AID
, -1
)
--获取刚刚插入的公司的主键【AID】
DECLARE @CompanyAID bigint = SCOPE_IDENTITY()
这个方法比第二个方法好,因为SCOPE_IDENTITY()获取到的是本次回话中最近一次插入数据的主键值
方法二 [@@IDENTITY]
--新建一家空的公司
INSERT INTO Company
(
SystemCompanyAID --劳服公司AID
, StateID
)
VALUES
(
@SystemCompanyAID --劳服公司AID
, -1
)
--获取刚刚插入的公司的主键【AID】
DECLARE @CompanyAID bigint = @@IDENTITY
这个方法不推荐使用,因为函数@@IDENTITY获取的是最近一次插入的数据的主键值,这样的有同时插入的时候,可能会获取到别的表的插入的主键值,从而导致数据出错