sql >> データベース >  >> RDS >> Oracle

PL / SQL:プロシージャでユーザー入力を促すにはどうすればよいですか?

    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')
    


    1. Debian 6でMySQLリレーショナルデータベースを使用する(Squeeze)

    2. PostgreSQLで現在の時刻を取得する方法

    3. MySQL IF()関数の説明

    4. ORA-24408:一意のサーバー・グループ名を生成できませんでした