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

PLS-00201:पहचानकर्ता 'R_CUR' को डायनेमिक sql में घोषित किया जाना चाहिए

त्रुटि यहाँ मान्य है। यदि आप execute immediate . को देखते हैं कथन, जब इसका समाधान हो जाता है और निष्पादित हो जाता है, तो यह begin . से प्रारंभ होता है खंड मैथा। उस शुरुआत में r_cur . की घोषणा को ब्लॉक करें दायरे से बाहर है और इसलिए आपको समस्या मिलती है। आपको r_cur बनाना होगा आप में घोषणा ब्लॉक भी शुरू होती है। मेरा टिप्पणी वाला हिस्सा देखें।

FOR j IN r.FIRST .. r.LAST
      LOOP
         v_if_statement :=
                'IF r_cur('||i||').'
             || r (j)
             || ' '
             || 'IS NOT NULL'
             || ' '
             || 'THEN :var:=''true'';'
             || ' '
             || 'dbms_output.put_line(''inside stmt'');'
             || 'END IF;';

           ----**Here when the begin block gets resolved the r_cur decalration is needed.**     
            v_sql_statement := 'BEGIN ' || v_if_statement || ' END;';

            EXECUTE IMMEDIATE v_sql_statement USING OUT var;

        DBMS_OUTPUT.put_line ('var : ' || var);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वर्जित संबंध Oracle अकादमी

  2. मैं Oracle में नामित बाधा की परिभाषा कैसे प्राप्त करूं?

  3. केवल एक नई तालिका बनाए जाने पर चलने के लिए ट्रिगर बनाना

  4. विभाजित टेबल ऑरैकल को अपडेट कर रहा है

  5. Oracle वैकल्पिक संबंध