【发布时间】:2018-03-11 19:54:02
【问题描述】:
尝试执行 t-sql 存储过程时出现标题错误
EXEC Add500ToChecking 18568
我尝试删除 return 和 go 语句,但没有成功
USE [JProCo]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[Add500ToChecking] @CustID INT AS
BEGIN TRAN
UPDATE SavAccount SET Balance = Balance - 500
WHERE CustomerID = @CustID
IF ( (SELECT Balance FROM SavAccount WHERE CustomerID = @CustID) < 0)
ROLLBACK TRAN
RETURN
UPDATE CkAccount SET Balance = Balance + 500
WHERE CustomerID = @CustID
COMMIT TRAN
RETURN
GO
知道我的代码发生了什么吗?这是一个班级项目
【问题讨论】:
-
养成用 BEGIN 和 END 包围条件块的习惯。
-
感谢您的建议,我会的。该代码逐字逐句来自类测试书(joes2pros),所以我花了一些时间在这里寻求帮助:)
-
不是我第一次看到代码错误从技术编辑中溜走。除了 BEGIN/END 之外,我建议遵循缩进样式并使用分号语句终止符,这样可以使意图更清晰,代码更易于维护。
标签: sql-server tsql