我可以在 sql 事务过程中使用 return 语句吗?
Sql程序
ALTER PROCEDURE [dbo].[uspProcessStudentRecord]
AS
Begin Transaction
insert into dbo.Student(name,address) values('ABC','INDIA');
return;
Commit Transaction
在事务中写入 return 是一个好习惯吗?
最佳答案
Is it a good practice of writing return inside a Transaction?
不。事实上,您将收到此 SQL Server 错误并且事务将保持未提交状态:
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
在存储过程中启动事务时,最佳做法是
COMMIT
或 ROLLBACK
在返回之前。此外,指定 SET XACT_ABORT ON
也是一个好习惯。在具有显式事务的过程中,以避免在超时后无意中使事务保持打开状态。
关于sql - 我可以在提交事务之前返回 SQL 过程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46278414/