2017-11-06 6 views
0

は私が
を入力したときにのみ実行する必要がありプロンプトを受け入れて、ユーザの入力を受け付け、手続きに渡したい「/」私はPL SQLでユーザ入力を受け入れて手続きに渡したいのですが、簡単なプログラムを表示しますか?

 Create OR Replace Procedure input(Roll IN number, Book_n IN varchar) 
     AS 
     <--procedure body--> 
     end; 
     /

     Declare 
     Roll_no number; 
     B_name varchar(20); 
     Begin 
     Accept Rollno number prompt 'Enter Roll number : '; 
     Accept BookName varchar(20) prompt 'Enter book name : '; 

     input(Rollno,BookName); 
     end; 
     /
+0

シンプルなgoogleが多くの結果をもたらします。たとえば、このhttps://stackoverflow.com/questions/12516930/how-to-get-input-from-user-at-runtime – XING

+0

[実行時にユーザーからの入力を取得する方法](https:// stackoverflow)の可能な複製.com/questions/12516930 /実行時のユーザーからの入力方法) – XING

答えて

0

あなたがPL/SQL変数に外部入力を渡すために&inp_variableを使用することができます。 ACCEPTはPL/SQLキーワードではありません。外部で使用してください。

SET SERVEROUTPUT ON 
ACCEPT Rollno NUMBER PROMPT 'Enter Roll number : '; 
ACCEPT BookName varchar(20) prompt 'Enter book name : '; 

DECLARE 
    Roll_no NUMBER := &Rollno; 
    B_name VARCHAR (20) := '&BookName'; 
BEGIN 
    input (Roll_no, B_name); 
END; 
/

それは、このようなあなたのコードを実行するための適切な方法ではありません私は「/」

入力したときにのみ実行する必要がありプロンプトを受け入れます。 proc内の他のチェックを使用してユーザー入力を制御します。

0

pl \ sqlブロックの実行時に入力を受け入れるようにしてください。

あなたはすでにPL \ SQLブロックを実行した場合、「/」を使用するか、またはからの入力を受け付けるように名前が続く

使用「を&」「SQL>ED」を使用して ブロックを書き込むことができますユーザー。 BOOK_NAMEに値を入力

  • :すなわち& Roll_No

  • Declare 
        Roll_no number; 
        B_name varchar(20); 
    Begin 
        --Accept Rollno number prompt 'Enter Roll number : '; 
        Roll_no := &Roll_no; 
        --Accept BookName varchar(20) prompt 'Enter book name : '; 
        B_name := '&Book_Name'; 
        input(Roll_no,B_name); 
    end; 
    /
    

    これは、入力を要求されます。..

    • はRoll_noの値を入力します
    0

    をプロシージャを作成したり、交換してください入力(ロールイン番号、Book_n IN varchar) AS < - 手続き本体 - > end; / Rollno番号の入力を受け入れる 'ロール番号を入力:'; BookNameを受け入れるvarchar(20)prompt '書籍名を入力:';

    Declare 
        Roll_no number; 
        B_name varchar(20); 
        Begin 
    
        Roll_no:= &Rollno; 
        B_name := '&BookName' 
    
        input(Roll_no,B_name); 
        end; 
        /
    
    0

    set serveroutput on;

    Roll_no numberプロンプト 'Roll number:'を入力してください。 B_name varchar2プロンプトを承認 '書籍名を入力:';

    Declare 
        Roll_no number:= NULL; 
        B_name varchar2(20):= NULL; 
    
        Begin 
    
        Roll_no:= &Roll_no; 
        B_name:= '&B_name'; 
    
        input(Roll_no,B_name); 
    
        end; 
        /