0
A
回答
2
SELECT * FROM firstTable
UNION ALL
SELECT * FROM secondTable WHERE(SELECT COUNT(*)FROM FIRST_TABLE)= 0
0
您可以將SELECT語句放在一個塊中並添加一個異常處理程序。
因此,如果沒有從第一個表中選擇行,那麼您從第二個表中選擇。該結構將類似於如下:
Begin
select <many columns> into <many variables or row type>
From Table1
where <conditions>;
EXCEPTION
WHEN NO_DATA_FOUND THEN
select <many columns> into <many variables or row type>
From Table2
Where <Conditions>;
End;
參考文獻:
0
這裏是將執行一個PL/SQL函數的例子測試,然後根據測試結果執行輔助查詢。您可以調整它來滿足您的需求:
set serveroutput on;
declare
row_count number;
column1 varchar(10);
column2 varchar(10);
column3 number;
begin
/*Perform your test*/
select count(target_column) into row_count
from my_table
where condition_column = 'x';
/*Run your secondary query based on the output of the first*/
if row_count > 0 then
select
col_x into column1,
col_y into column2,
col_z into column3
from my_other_table_A;
else
select
col_a into column1,
col_b into column2,
col_c into column3
from my_other_table_B;
end if;
/*Show the results*/
dbms_output.put_line('column1: ' || column1);
dbms_output.put_line('column2: ' || column2);
dbms_output.put_line('column3: ' || column3);
end;
/
相關問題
- 1. 如果存在,從列中選擇如果不存在值爲NULL
- 2. 如果存在行,則選擇列else oracle中的默認值
- 3. oracle從PLSQL的內存表中選擇
- 4. 如何從表中選擇行,但如果它不存在於該表中,請從不同的表中選擇?
- 5. 從多個表中選擇一個值(如果存在)
- 6. 從oracle表中選擇重複值
- 7. 從表中選擇記錄,如果某些價值存在,如果不是,請選擇其他記錄
- 8. 如果選擇(ORACLE)
- 9. 從存在價值的表中選擇?
- 10. 查詢表,並選擇默認值,如果不存在
- 11. 如果在oracle中選擇查詢
- 12. 如何從Oracle中的表中選擇多個值?
- 13. KendoComboBox MVC查找值,如果存在選擇它,如果不存在,選擇其他值
- 14. 選擇所有值,如果不從下拉列表中
- 15. 如何在用戶從typeahead.js中選擇結果後保存值?
- 16. Oracle創建表(如果它不存在)
- 17. MYSQL如何選擇從其他表值不存在
- 18. 從連接表中選擇記錄,如果它存在
- 19. asp.net dropdownlist如果該值不存在,選擇的值
- 20. SQL - 選擇列值,如果其他值不存在
- 21. 從價值不存在的表中選擇
- 22. 如果表不存在,則在另一個表上選擇
- 23. 如何在Oracle表中選擇一行?
- 24. 自動從列表框中選擇值而不選擇值
- 25. MySQL的選擇字段爲NULL,如果表中不存在
- 26. 如何我可以選擇從Oracle表
- 27. 追加到選擇列表如果選項不存在
- 28. 如果值從另一個表中選擇,則更新表
- 29. 設置選擇下拉選擇,如果存在價值Rails
- 30. 如何在sql/oracle中選擇值並組織到新表中
你在尋找一個PL/SQL函數還是隻是一個普通的SQL語句?對數據存在測試的兩個查詢有什麼不同?它是單列還是多列? – woemler
pl/sql查詢,並且它返回很多列 – user3401058