2011-02-11 41 views
1

如何設置從SQL Server中,函數結果5個變量而不會產生其他表從功能的SQL Server的態表返回

設置5個變量如果返回一個表,我一個函數如果條件滿足aka,則將var設置爲結果。 (@counter),如果我想從臨時表中創建5個值,我將如何處理?

SELECT @var1 = items 
FROM dbo.FUNCTION() 
WHERE itemindex = @counter 

SELECT @var1,@var2,@var3,@var4,@var5 = items FROM ......但我知道這不能做,任何想法??

回答

1

你不能做到這一點 - 存儲函數可以返回:

  • 一個單個標量值
  • 數據

的表如果你將它轉換爲一個存儲過程,你可以爲你的呼叫定義五個輸出參數 - 可能會工作

CREATE PROCEDURE dbo.YourProc @InParam1 INT, 
           @OutParam1 INT OUTPUT, 
           @OutParam2 INT OUTPUT, 
           @OutParam3 INT OUTPUT, 
           @OutParam4 INT OUTPUT, 
           @OutParam5 INT OUTPUT 
AS BEGIN 
    .... 
END