2010-03-18 77 views
2

爲什麼此腳本返回一對空值?我正在使用SQL Server 2008,腳本在MSSMS中運行。未返回輸出參數

CREATE PROCEDURE proc_Test 
    (
    @Input int, 
    @Out1 int OUTPUT, 
    @Out2 varchar(10) OUTPUT 
    ) 

AS 

BEGIN 
    SET NOCOUNT OFF 
    SET @Out1 = 100 + @Input 
    SET @Out2 = 'result=' + CONVERT(varchar,@Out1) 
    RETURN 

END 

GO 

DECLARE @Out1 int, @Out2 varchar(10) 
exec proc_Test @Input=1, @[email protected], @[email protected] 
select @Out1, @Out2 

回答

3

你需要指定瓦爾作爲輸出:

DECLARE @Out1 int, @Out2 varchar(10) 
exec proc_Test @Input = 1, @Out1 = @Out1 output, @Out2 = @Out2 output 
select @Out1, @Out2 

由於風格小事儘量不要來命名收到了效果一樣的參數變量的增值經銷商;它變得太混亂了。

+0

謝謝 - 我以爲我錯過了一些非常明顯的東西。 – 2010-03-18 07:57:43

+0

@Mark:np。我做了很多次! – 2010-03-18 08:31:21