0
我試圖做一個查詢:是在FROM子句使用情況下,它可能在聲明
select * from (case when :p1 = '1' then t1 when :p1=2 then t2);
但它不工作。我假設在from子句中不允許聲明的情況?有沒有其他任何方法可以解決這個問題。 謝謝
我試圖做一個查詢:是在FROM子句使用情況下,它可能在聲明
select * from (case when :p1 = '1' then t1 when :p1=2 then t2);
但它不工作。我假設在from子句中不允許聲明的情況?有沒有其他任何方法可以解決這個問題。 謝謝
不,你不能那樣做。查詢被解析時,對象和標識符必須被修復,所以你不能綁定這些對象和標識符。
你可以使用一個聯盟與支票在每個分支變量:
select * from t1
where :p1 = 1
union all
select * from t2
where :p1 = 2;
假設表的結構是一樣的。
是的,表的結構是相同的。謝謝 :) – Savke
假設您正在嘗試使用應該是有條件的表名,是否正確?那麼PL/SQL是一個選項,或者你也可以創建一個函數。 – user75ponic
@ user75ponic真,表名是可選的。當參數等於1時,從t1收集數據,當參數等於2時,則從t2收集數據。可以幫助我嗎? – Savke
使用PL/SQL塊或創建函數來驗證參數是1或2. – user75ponic