2012-03-14 58 views
1

我在寫一個具有返回類型的函數,該函數將根據傳遞的列動態更改。 在下面的代碼中,我傳遞了column-value,column-datatype。但是在運行代碼時出現錯誤。動態更改函數的返回類型

「在此 上下文中不能使用帶返回值的RETURN語句。」

如果這是不可能的,那麼如何動態改變返回類型。 請提出解決方案。

Create Function myFunction(@ColValue varchar(100), @ColReturnType varchar(100)) 
RETURNS @ColReturnType 
AS 
BEGIN 
    IF(@ColValue = 'xxxxx') 
    BEGIN 
     return 0 
    END 
    ELSE 
    BEGIN 
     return @ColValue 
    END 
END 
+0

不,您不能動態更改返回類型。您可以嘗試使用[sql_variant](http://msdn.microsoft.com/zh-cn/library/ms173829.aspx)作爲返回類型。 – 2012-03-14 07:07:33

+0

如果這就是你以後的情況,你可以總是將NULL作爲一種通用的默認結果。 – 2012-03-14 09:39:00

回答

0

返回xml類型,而不是,這將解決這個問題,以返回符合不同的合同任意數據。