Menggunakan COUNT(*) tidak masalah jika Anda juga menggunakan rownum=1:
declare
l_cnt integer;
begin
select count(*)
into l_cnt
from x
where x.col_a = value_a
and x.col_b = value_b
and rownum = 1;
end;
Ini akan selalu mengembalikan baris, jadi tidak perlu menangani pengecualian NO_DATA_FOUND. Nilai l_cnt akan menjadi 0 (tidak ada baris) atau 1 (setidaknya ada 1 baris).