xample:什麼是存儲過程中使用VARCHAR輸出參數 - 不能 '返回@myvarchar',但可以 '選擇@myvarchar'
CREATE PROCEDURE dbo.sp_Delete (@p1 INT, @p2 VARCHAR(10) OUTPUT)
AS
[email protected] will have calculations done and get a value for @p2
SET @p2 = 'test'
RETURN @p2
測試:
DECLARE @p2 VARCHAR(100)
EXEC sp_Delete
@p1 = N'1',
@p2 = N''
錯誤:
Conversion failed when converting the varchar value 'test' to data type int.
但是 您可以這樣做:
ALTER PROCEDURE dbo.sp_Delete (@p1 INT)
AS
[email protected] will have calculations done and get a value for @p2
SELECT 'test'
EXEC sp_Delete
@p1 = N'1'
所以我的問題是,如果它不能使用「return @myvar」,那麼使用varchar類型的OUTPUT參數(注意我不會質疑int類型的輸出參數)有什麼用處是一個varchar。你可以「選擇@myvar」。 我想弄清楚我做錯了什麼,因爲我認爲我不明白使用特定的varchar輸出變量。
當我嘗試此exec sp_Delete @ p1 = N'1',@ p2輸出,我得到消息必須聲明標量變量「@ p2」。 – 2013-02-13 10:02:10
然後聲明變量f.e. '聲明@x varchar(50); exec sp_Delete @ p1 = N'1',@ p2 = @ x輸出;' – Andomar 2013-02-13 10:06:31