如何使用 Transact-SQL 执行事务处理
来源:互联网 发布:快消品网络商学院 编辑:程序博客网 时间:2024/05/22 09:21
以下存储过程阐明了如何在 Transact-SQL 存储过程内部执行事务性资金转帐操作。
CREATE PROCEDURE MoneyTransfer
@FromAccount char(20),
@ToAccount char(20),
@Amount money
AS
BEGIN TRANSACTION
-- PERFORM DEBIT OPERATION
UPDATE Accounts
SET Balance = Balance - @Amount
WHERE AccountNumber = @FromAccount
IF @@RowCount = 0
BEGIN
RAISERROR('Invalid From Account Number', 11, 1)
GOTO ABORT
END
DECLARE @Balance money
SELECT @Balance = Balance FROM ACCOUNTS
WHERE AccountNumber = @FromAccount
IF @BALANCE < 0
BEGIN
RAISERROR('Insufficient funds', 11, 1)
GOTO ABORT
END
-- PERFORM CREDIT OPERATION
UPDATE Accounts
SET Balance = Balance + @Amount
WHERE AccountNumber = @ToAccount
IF @@RowCount = 0
BEGIN
RAISERROR('Invalid To Account Number', 11, 1)
GOTO ABORT
END
COMMIT TRANSACTION
RETURN 0
ABORT:
ROLLBACK TRANSACTION
GO
该存储过程使用 BEGIN TRANSACTION、COMMIT TRANSACTION 和 ROLLBACK TRANSACTION 语句来手动控制该事务。
- 如何使用 Transact-SQL 执行事务处理
- 如何利用Transact-SQL执行事务
- C#执行Sql事务处理
- C#执行Sql事务处理
- 使用Transact-SQL编程
- 如何创建跟踪 (Transact-SQL)
- 在 SQL Server 中使用 Transact-SQL如何遍历一个结果集
- 如何通过使用 TRANSACT-SQL SQL Server 中循环访问一结果集
- 【SQL Server技巧篇】如何使用Transact-SQL脚本语言导入Excel表
- 【SQL Server技巧篇】如何使用Transact-SQL脚本语言导入Excel表
- 如何遍历一个结果集在 SQL Server 中使用 Transact-SQL
- 在SQL 2008中总是出现问题:执行Transact-SQL语句或批处理时发生异常。如何解决?
- Transact-SQL游标是如何工作的
- 如何创建数据库快照 (Transact-SQL)
- 如何使用 Visual Studio .NET 工具创建数据库对象和 Transact-SQL 存储过程。
- TRANSACT-SQL
- Transact SQL
- Transact-SQL
- 影响德鲁克的七项体验
- 用Kickstart批量安装Linux
- Looks same...
- 判断点是否在一个三角形内部
- 在linux下一个有趣的STL文件IO问题
- 如何使用 Transact-SQL 执行事务处理
- SAP用户登录增强示例
- oracle 变量绑定 ORA-00903错误:无效表名
- Java Exception Rethrowing
- MSN消息接龙(2006.11 下)
- 三则小故事
- 文件和文件夹丢失权限, 命令行下修改文件访问控制权限,解决方案
- 职场黄金定律
- 黄褪技术——输入提示的效果