简单的小例子
CREATE PROCEDURE testPro
AS
/**//* ------- 事务开始 ---------- */
BEGIN TRANSACTION tran_test
/**//* -------- 保存事务 ----------*/
SAVE TRANSACTION tran_test
/**//* -------- 数据操作 ---------*/
INSERT [table1] ( [content] ) VALUES ( '43332' )
/**//*---------- 提交事务 ------------*/
COMMIT TRANSACTION tran_test
/**//*--------- 判断是否有错误 ----------*/
IF ( @@ERROR <> 0 )
BEGIN
/**//*---------- 自定义错误输出 ----------*/
RAISERROR( 'Insert data error!',16,1 )
/**//*-------- 事务回滚 --------*/
ROLLBACK TRANSACTION tran_test
END
/**//*------- 判断事务数是否大于0 -----------*/
IF ( @@TRANCOUNT > 0 )
BEGIN
/**//*-------- 事务回滚 --------*/
ROLLBACK TRANSACTION tran_test
END
GO
AS
/**//* ------- 事务开始 ---------- */
BEGIN TRANSACTION tran_test
/**//* -------- 保存事务 ----------*/
SAVE TRANSACTION tran_test
/**//* -------- 数据操作 ---------*/
INSERT [table1] ( [content] ) VALUES ( '43332' )
/**//*---------- 提交事务 ------------*/
COMMIT TRANSACTION tran_test
/**//*--------- 判断是否有错误 ----------*/
IF ( @@ERROR <> 0 )
BEGIN
/**//*---------- 自定义错误输出 ----------*/
RAISERROR( 'Insert data error!',16,1 )
/**//*-------- 事务回滚 --------*/
ROLLBACK TRANSACTION tran_test
END
/**//*------- 判断事务数是否大于0 -----------*/
IF ( @@TRANCOUNT > 0 )
BEGIN
/**//*-------- 事务回滚 --------*/
ROLLBACK TRANSACTION tran_test
END
GO
本文通过一个简单的SQL存储过程示例介绍了如何使用事务来确保数据的一致性和完整性。包括事务的开始、数据插入操作及异常处理等内容。
1126

被折叠的 条评论
为什么被折叠?



