Sử dụng COUNT (*) là OK nếu bạn cũng sử dụng 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;
Điều này sẽ luôn trả về một hàng, vì vậy không cần phải xử lý bất kỳ ngoại lệ NO_DATA_FOUND nào. Giá trị của l_cnt sẽ là 0 (không có hàng) hoặc 1 (tồn tại ít nhất 1 hàng).