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

रिकॉर्ड की गिनती का चयन करते समय संग्रहीत प्रक्रिया में गतिशील क्वेरी चलाने में असमर्थ

आपके डायनामिक स्टेटमेंट के अंत में अर्धविराम नहीं होना चाहिए; यह एक स्टेटमेंट सेपरेटर है और एक स्टेटमेंट के लिए प्रासंगिक या मान्य नहीं है। आप वैसे भी केवल एक एकल SQL कथन को गतिशील रूप से चला सकते हैं (जब तक कि आप कई को एक अनाम PL/SQL ब्लॉक में नहीं डालते)।

आपका into गलत जगह पर भी है:

TEMP_1 := 'select count ( '|| E ||' ) from ' || C;

DBMS_OUTPUT.PUT_LINE ('STARTED');
DBMS_OUTPUT.PUT_LINE (TEMP_1);

EXECUTE IMMEDIATE TEMP_1 INTO Count_source;

सुनिश्चित नहीं है कि जब आप सीधे प्रक्रिया तर्कों का उपयोग कर सकते हैं, तो आप स्थानीय चर रखने और असाइन करने के लिए परेशान क्यों हैं, जो मुझे लगता है कि कथन को और अधिक पठनीय बनाता है:

TEMP_1 := 'select count ( '|| COLUMN_SOURCE ||' ) from ' || TABLE_SOURCE;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Concat फ़ंक्शन काम नहीं कर रहा है - तर्कों की अमान्य संख्या

  2. ओरेकल एसक्यूएल का उपयोग कर एक्सएमएल से अलग से दोहराने योग्य जेसन नोड मान कैसे निकालें?

  3. डेटाबेस परिवर्तन के विनफॉर्म एप्लिकेशन को सूचित करने के लिए DBMS_Alert का उपयोग करने का कोई तरीका है

  4. Oracle SQL डेवलपर में डेटाबेस का नाम कैसे क्वेरी करें?

  5. SQL सर्वर के SET NOCOUNT ON के Oracle समतुल्य क्या है?