2012-05-04 168 views
-1

通常,存储过程在成功执行时返回0而不发生错误,在存储过程遇到错误时返回-1。
有无论如何我可以覆盖存储过程中的int返回值吗?覆盖存储过程的返回值

+0

使用功能,而不是StoredProcedure的。 –

+0

您可能[RETURN](http://msdn.microsoft.com/zh-cn/library/ms174998%28v=sql.90%29.aspx)过程中的int。 –

回答

1

这里是function description这将给你任何你想要的回报。

或者,如果你需要写访问,你可以添加输出参数在你的StoredProcedure 像这样的事情

CREATE PROCEDURE dbo.MyStoredProcedure (
    @myInput NVARCHAR(50), 
    @myOutput INT OUTPUT) 
AS 
SELECT @myOutput = COUNT(*) 
FROM MyTable 
WHERE MyColumn = @myInput 
+0

这是一个函数,而不是存储过程。 – Guffa

+0

它甚至会返回多个值:)不错...会发布相同的内容。 – Milee

0

SP可以返回要使用select语句返回什么都但最好你应该使用函数时你需要返回一个值。

回答你的问题是!

+0

'select'语句不会更改返回值。虽然“是”是对这个问题的正确答案,但它没有用。当然,这个问题也意味着“如果是这样,那么怎么样?”。 – Guffa

+0

@Guffa我的意思是选择1并选择'a' – Deepesh

+0

无论您选择什么,它都不会改变返回值。这与从过程返回的结果/结果是分开的。一个过程可能会返回零个或多个结果,但它总是有一个整数返回值。 – Guffa