오라클 쿼리 (그냥 쿼리) 을 써야 테이블에서 값을 선택할 수 있습니다. 발견되지 않으면 다른 테이블에서 선택하십시오.오라클 값이없는 경우 테이블에서 선택하십시오.
pl/sql에서이 작업을 수행하는 데 도움이 필요합니까?
오라클 쿼리 (그냥 쿼리) 을 써야 테이블에서 값을 선택할 수 있습니다. 발견되지 않으면 다른 테이블에서 선택하십시오.오라클 값이없는 경우 테이블에서 선택하십시오.
pl/sql에서이 작업을 수행하는 데 도움이 필요합니까?
SELECT *를 firstTable FROM
UNION ALL
SELECT *에게 secondTable FROM WHERE (FIRST_TABLE FROM SELECT COUNT (*)) = 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;
참고 :
가 수행하는 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;
/
PL/SQL 기능 또는 일반 SQL 문을 찾고 있습니까? 데이터 존재 테스트에서 두 쿼리가 서로 다른 점은 무엇입니까? 그것은 하나의 열 또는 여러 가지 열입니까? – woemler
pl/sql 쿼리 및 많은 열을 반환합니다. – user3401058