2016-02-10 25 views
1

我有這種情況,我需要對設計時不知道名稱的表執行查詢。動態選擇表格(表格是可變的)

例如,我有這些表中:

Table_Items_1 
Table_Items_2 
Table_Items_3 
Table_Items_4 
Table_Items_5 

我需要根據多個「X」,其指表中的後綴來選擇。 (表的數量是動態的,我不能這樣做,否則)。

這可以使用動態SQL來完成。但是,我需要更通用一些,因爲它會被其他幾個函數/存儲過程引用。

我在考慮一個表值函數,因爲我需要對上述查詢執行其他查詢(即:內部連接,依賴於結果或字段的其他選擇查詢等),但是表值函數不接受調用存儲過程或動態SQL。

P.S .:我不介意改變方法,TVF不是必須的,但我需要一些通用的,可以從其他存儲過程/函數引用。

任何解決方案?

謝謝。

+1

對於動態表名,你只有一個選項,它是'dynamic sql',你不能在存儲過程以外的任何東西中使用動態sql。 –

+0

取決於使用的dbms ...標籤dbms產品! – jarlh

+0

聞起來像我的數據庫設計不好。 –

回答

0

表名不提前知道它的動態,所以你需要動態的sql。

現在取決於在何處以及如何構建查詢,您可以直接通過命令或使用存儲過程。