Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle - इस दायरे में X नाम वाला कोई फ़ंक्शन मौजूद नहीं है

त्रुटि होगी messaget := testcursor.column1; चूंकि तब तक कर्सर बंद हो चुका होता है (आपको बस testcursorrec.column2 का उपयोग करना चाहिए ।

आप कोड नहीं पंक्तियों की जांच कर रहे हैं, न ही डुप्लिकेट पंक्तियों की जांच कर रहे हैं। आप इसे आसान बना सकते हैं

create or replace function testfunction
  (
    somevalue in table1.column1%type
  )
  return table1.column2%type
  AS
  messaget table1.column2%type; -- use %type where possible.
  begin
    select t.column2
      into messaget
      from table1 t
     where t.column1 = somevalue
       and rownum = 1;--only if you dont care if theres 2+ rows. 
    return messaget;
  exception 
    when no_data_found
    then 
      return null; -- if you want to ignore no rows.
  end;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EBS R12 के लिए DMZ कैसे बनाएं

  2. OraOLEDB.Oracle प्रदाता स्थानीय मशीन पर पंजीकृत नहीं है

  3. जावास्क्रिप्ट के बिना ओरेकल पीएल/एसक्यूएल को स्नोफ्लेक में पोर्ट करना

  4. क्या स्पष्ट एएनएसआई जॉइन बनाम निहित जॉइन के उपयोग पर ओरेकल की आधिकारिक सिफारिश है?

  5. ORA-01882:समय क्षेत्र क्षेत्र नहीं मिला