如果存储过程返回值为零,这是否总是意味着它已成功运行?我使用的是MS SQL Server 2008。
发布于 2011-05-18 01:33:57
不,你可以自己退货
示例
CREATE PROC pr_test AS
SELECT 1/0
RETURN 0
GO
现在运行它
DECLARE @i INT
exec @i = pr_test
SELECT @i -- will be 0
DROP PROC pr_test
现在,让我们在不使用返回语句的情况下再做一次
CREATE PROC pr_test2 AS
SELECT 1/0
GO
DECLARE @i INT
exec @i = pr_test2
SELECT @i -- will be - 6
最好使用output parameter
来传回状态和/或消息
发布于 2011-05-18 01:35:15
@@ERROR返回值“零”表示您的过程已完成,没有任何错误。
当然,这并不意味着它做了你想要的事情...
你能更具体地说明你正在看的是什么吗?
发布于 2011-05-18 01:34:48
可以使用Return
字从存储过程中返回任何整数值。这意味着零并不意味着存储过程已成功执行。
https://stackoverflow.com/questions/6034746
复制相似问题