dbms_output.put_line
बूलियन तर्क को स्वीकार करने के लिए अतिभारित नहीं है। आप कुछ ऐसा कर सकते हैं
dbms_output.put_line( case when exist = true
then 'true'
else 'false'
end );
बूलियन को एक स्ट्रिंग में बदलने के लिए जिसे आप तब पास कर सकते हैं dbms_output
।
ORA-01422 त्रुटि एक पूरी तरह से अलग मुद्दा है। फ़ंक्शन checkEmpNo
SELECT INTO
. शामिल है बयान
SELECT emp_id
INTO emp_number
FROM emp;
ए SELECT INTO
यदि क्वेरी 1 पंक्ति के अलावा कुछ भी लौटाती है तो एक त्रुटि उत्पन्न होगी। इस मामले में, यदि emp
. में एक से अधिक पंक्तियाँ हैं तालिका, आपको एक त्रुटि मिलेगी। मेरा अनुमान है कि आप चाहेंगे कि आपका कार्य कुछ ऐसा करे
CREATE OR REPLACE FUNCTION checkEmpNo(p_eno number)
RETURN boolean
IS
l_count number;
BEGIN
SELECT count(*)
INTO l_count
FROM emp
WHERE emp_id = p_eno;
IF( l_count = 0 )
THEN
RETURN false;
ELSE
RETURN true;
END IF;
END checkEmpNo;