आपके डायनामिक स्टेटमेंट के अंत में अर्धविराम नहीं होना चाहिए; यह एक स्टेटमेंट सेपरेटर है और एक स्टेटमेंट के लिए प्रासंगिक या मान्य नहीं है। आप वैसे भी केवल एक एकल 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;