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
で行ったように、変数を宣言するためのものです。 。
プログラムを呼び出すときに、これらのパラメーターの値を指定できます。 SQL * Plusでは、次のように機能します。
SET SERVEROUTPUT ON
accept p1 prompt "please enter 1 or 0: "
accept p2 prompt "please enter Y or N: "
exec HELLO (&p1, '&p2')