PL/SQL स्वायत्त प्रोग्राम लिखने के लिए एक भाषा है। यह उपयोगकर्ता अन्तरक्रियाशीलता के लिए डिज़ाइन नहीं किया गया है। इनपुट मान पैरामीटर के रूप में पास किए जाते हैं। तो आपका प्रोग्राम इस तरह दिखना चाहिए
CREATE OR REPLACE PROCEDURE hello
( p1 in number
, p2 in varchar2 )
AS
l_salutation varchar2(20) := 'Hello World';
BEGIN
DBMS_OUTPUT.PUT_LINE(l_salutation);
DBMS_OUTPUT.PUT_LINE('p1 = ' || p1);
DBMS_OUTPUT.PUT_LINE('p2 = ' || p2);
END;
/
ध्यान दें कि नामित प्रक्रिया के साथ DECLARE की कोई आवश्यकता नहीं है। AS और BEGIN के बीच का भाग चर घोषित करने के लिए है, जैसा कि मैंने l_salutation
के साथ किया है ।
प्रोग्राम को लागू करते समय आप उन पैरामीटर के लिए मान प्रदान कर सकते हैं। एसक्यूएल*प्लस में यह इस तरह काम करेगा:
SET SERVEROUTPUT ON
accept p1 prompt "please enter 1 or 0: "
accept p2 prompt "please enter Y or N: "
exec HELLO (&p1, '&p2')