我正在編寫一個Oracle存儲過程以返回數據庫查詢的結果。如果查詢不產生任何結果,則必須運行第二個查詢。Oracle DB:如果第一個查詢爲空,則返回第二個查詢
在SQL Server中,我能做到這一點使用的東西類似以下內容:
INSERT INTO @TableVar
SELECT <joinQuery1>;
IF (SELECT COUNT(*) FROM @TableVar) > 0
BEGIN
SELECT * FROM @TableVar; -- returns <joinQuery1>
END
ELSE
SELECT <joinQuery2>; --returns <joinQuery2>
END
不過,我不能換我圍繞如何完成相同的任務在Oracle中的頭。
或者說,我不能找到一個辦法做到這一點不違反幹。即(選擇)聯盟所有(選擇哪裏選擇計數()= 0)應該工作,但我會用它作爲最後的手段。 –