日期:2014-05-18  浏览次数:20862 次

不用存储过程,事务+返回值如何做到
表user
user_id user_name

insert into x_user(user_name) values('2')
这里如何得到返回值并
insert into x_oper(usr_id,oper_name) values(第一条写入记录的返回值,'系统管理员')
带事务要回滚的



------解决方案--------------------
@@identity

SCOPE_IDENTITY()
 
IDENT_CURRENT 

就这3个,建议用SCOPE_IDENTITY()
 

------解决方案--------------------
SQL code

BEGIN TRAN
BEGIN TRY
    DECLARE @UserID INT
    insert into x_user(user_name) values('2')
    SET @UserID = @@IDENTITY
    insert into x_oper(usr_id,oper_name) values(@UserID,'系统管理员')
    COMMIT TRAN
END TRY
BEGIN CATCH
    ROLLBACK TRAN
END CATCH

------解决方案--------------------
用output最稳当