3
在T-SQL中有可能使用表值函數返回一個具有可變列數的表嗎?
列名可能只是1, 2, …, n
。在具有可變列數的T-SQL返回表中擁有表值函數
現在我有一個「字符串拆分」函數,它返回一個單列的表1 x n
,然後我將錶轉換爲一個n x 1
表,但我寧願通過返回正確的表格格式來簡化過程用。我想打算在C#中使用CLR過程來實現這個功能,我只是不知道如何設置用戶定義的函數來以我想要的格式返回數據:可變數量的列,依賴項在輸入字符串上。
我知道如何使用SqlMetaData在CLR存儲過程中創建結果集,但是對於用戶定義的函數,這也是可能的嗎? – 2011-04-12 10:45:40
不,SqlMetaData僅適用於存儲過程。正如我在答覆中所提到的,不管語言如何,函數都必須返回一致/預定義的類型。對於CLR函數,您可以定義一個結構來傳回數據以及函數裝飾器中的表定義。沒有辦法讓這些地方變得動態。如果你可以做一個功能結果集動態的,我會喜歡它,但那不會發生。 – 2011-04-12 12:41:09