写一段SQL server中指定账户1指定数额的款项到账户2的存储过程语句
时间: 2024-02-26 19:56:25 浏览: 118
Java中调用SQL Server存储过程详解
5星 · 资源好评率100%
好的,下面是一段SQL Server中指定账户1指定数额的款项到账户2的存储过程语句:
```
CREATE PROCEDURE [dbo].[TransferMoney]
@Account1 INT,
@Account2 INT,
@Amount DECIMAL(10, 2)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION;
UPDATE Accounts
SET Balance = Balance - @Amount
WHERE AccountID = @Account1;
UPDATE Accounts
SET Balance = Balance + @Amount
WHERE AccountID = @Account2;
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
END CATCH;
END
```
该存储过程接收三个参数:账户1的ID、账户2的ID和要转账的金额。在 TRY 块中,使用两个 UPDATE 语句分别从账户1中减去指定金额,并将其加到账户2中。如果所有操作都成功,则提交事务。如果任何操作失败,则执行 CATCH 块中的回滚操作以撤销所有更改。
阅读全文