注册 登录
编程论坛 SQL Server论坛

[求助]一个存储过程中有两个更新操作,结果会怎样?

modern_roc 发布于 2007-07-23 10:22, 637 次点击
考察以下存储过程:
CREATE PROCEDURE prcProc1 (@AccountNo1 char(4), @AccountNo2 char(4), @Amount money)
AS
BEGIN TRAN trnTran1
UPDATE Account
SET mBalance = mBalance-@Amount
WHERE cAccountNo = @AccountNo1
COMMIT TRAN

UPDATE Account
SET mBalance = mBalance+@Amount
WHERE cAccountNo = @AccountNo2

RETURN

在执行此过程时,执行了COMMIT TRAN 语句之后和第二个UPDATE 语句之前有一个系
统故障。在服务器启动后,关于此更新以下陈述中哪个是正确的?
1) 在查询此表时,表中仅反映出第一个UPDATE 语句所作的更新。
2) 在查询此表时,表中没有反映出第一个UPDATE 语句所作的更新。
3) 在查询此表时,二个UPDATE 语句所作的更新都正确地反映出来。
4) 在查询此表时,二个UPDATE 语句所作的更新都反映出来。但没有正确地反
映第一个UPDATE 语句所作的更新。
0 回复
1