IF EXISTS()
अर्थ की दृष्टि से गलत है। EXISTS
कंडीशन का उपयोग केवल SQL स्टेटमेंट के अंदर ही किया जा सकता है। तो आप अपने pl/sql ब्लॉक को इस प्रकार फिर से लिख सकते हैं:
declare
l_exst number(1);
begin
select case
when exists(select ce.s_regno
from courseoffering co
join co_enrolment ce
on ce.co_id = co.co_id
where ce.s_regno=403
and ce.coe_completionstatus = 'C'
and ce.c_id = 803
and rownum = 1
)
then 1
else 0
end into l_exst
from dual;
if l_exst = 1
then
DBMS_OUTPUT.put_line('YES YOU CAN');
else
DBMS_OUTPUT.put_line('YOU CANNOT');
end if;
end;
या आप बस count
. का उपयोग कर सकते हैं फ़ंक्शन क्वेरी द्वारा लौटाई गई पंक्तियों की संख्या निर्धारित करता है, और rownum=1
विधेय - आपको केवल यह जानने की आवश्यकता है कि कोई रिकॉर्ड मौजूद है या नहीं:
declare
l_exst number;
begin
select count(*)
into l_exst
from courseoffering co
join co_enrolment ce
on ce.co_id = co.co_id
where ce.s_regno=403
and ce.coe_completionstatus = 'C'
and ce.c_id = 803
and rownum = 1;
if l_exst = 0
then
DBMS_OUTPUT.put_line('YOU CANNOT');
else
DBMS_OUTPUT.put_line('YES YOU CAN');
end if;
end;