2012-05-04 166 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