2012-12-05 42 views
7

मैं ओरेकल 10 जी डेटाबेस का उपयोग कर रहा हूं और SQL कमांड का उपयोग कर प्रक्रिया चलाने की कोशिश कर रहा हूं।ओआरए -00 9 00: अमान्य एसक्यूएल कथन- ऑरैकल में एक प्रक्रिया चलाते समय 10 जी

create or replace procedure "exam" is 
begin 
    DBMS_OUTPUT.PUT_LINE('Test'); 
end; 

फिर रन बटन पर क्लिक करें। यह दिखाता है: "प्रक्रिया बनाई गई"।

मैं का उपयोग कर इसे निष्पादित करने के लिए प्रयास करते हैं:

execute exam; 

फिर चलाएं बटन पर क्लिक करें, यह पता चलता है:

ORA-00900: invalid SQL statement 

आपकी मदद के लिए धन्यवाद।

उत्तर

12

बस आपके प्रश्न में एक विवरण देखा। आप run बटन दबाएं। इस प्रकार, आपको एक आईडीई का उपयोग करना होगा।

आप आईडीई में execute का उपयोग नहीं कर सकते - यह sql*plus कमांड है। यह हो सकता है ओरेकल एसक्यूएल डेवलपर में काम करता है, लेकिन मैं वैसे भी इसका उपयोग नहीं करता;

प्रयास करें

begin 
    exam; 
end; 
+0

मैंने इसे SQL कमांड में उपयोग किया है: प्रक्रिया परीक्षा बनाएं या प्रतिस्थापित करें DBMS_OUTPUT.PUT_LINE ('टेस्ट') शुरू हो गया है; समाप्त; यह दिखाता है: प्रक्रिया बनाई गई। का उपयोग करके निष्पादित करने का प्रयास करते समय "परीक्षा" निष्पादित करें; यह दिखाता है: ORA-00900: अमान्य SQL कथन – kumar

+0

यदि आप अपनी प्रक्रिया का नाम उद्धृत करते हैं, तो आपको प्रक्रिया कॉल को भी उद्धृत करना चाहिए। यदि आप नहीं करते - दोनों जगहों पर उद्धरण न दें। –

+0

'परीक्षा बनाएं या बदलें ...', 'निष्पादन परीक्षा;' (कोई उद्धरण नहीं) –

1

नाम के चारों ओर डबल कोट उद्धृत करें। वे ओरेकल में एक बुरा अभ्यास कर रहे हैं।

+0

जब प्रयोग किया है: बनाने या प्रक्रिया परीक्षा की जगह DBMS_OUTPUT.PUT_LINE (​​'टेस्ट') शुरू होता है; समाप्त; एक ही त्रुटि आ रही है। – kumar

+0

जिस तरीके से आप इसका उपयोग कर रहे हैं उसमें आप इसे निष्पादित कर रहे हैं। क्या यह एसक्यूएल * प्लस में काम करता है? यदि नहीं, तो आप इसे प्रक्रिया कॉल के बजाय SQL के रूप में निष्पादित कर सकते हैं। –