Tidak ada if (cursor)
konstruksi atau memang exists
operator dalam sintaks PL/SQL. Anda perlu melakukan sesuatu seperti ini:
declare
somevar number;
begin
select count(*) into somevar
from table1
where value_desc = 'Indicator'
and value1 = 'Y'
and rownum = 1;
if somevar > 0 then
execute immediate sql_select_yes
else
execute immediate sql_select_no
end;
end;
dan rownum =1 kondisi untuk berjaga-jaga jika ada banyak baris, karena Anda tidak memerlukannya untuk menghitung semuanya untuk tes keberadaan. (Ini tidak akan mempengaruhi hasil jika harus menghitung satu juta baris, itu hanya membuang-buang waktu ketika Anda hanya peduli jika ada satu baris.) Anda juga dapat menggunakan sesuatu seperti ini untuk pemeriksaan keberadaan:
select count(*) into somevar from dual
where exists
( select 1
from table1
where value_desc = 'Indicator'
and value1 = 'Y'
and rownum = 1 );