我想接受用户输入并将其传递给程序,只有当我输入
时才接受提示
的' /'
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 :(得分:0)
您可以使用&inp_variable
将外部输入传递给PL / SQL变量。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;
/
接受提示只有在我输入&#39; /&#39;
这样运行代码不是一种正确的方法。使用proc中的其他检查来控制用户输入。
答案 1 :(得分:0)
在执行pl \ sql块时尝试以下接受输入。
如果您已经执行了pl \ sql块或写入,则可以使用'/' 阻止使用'sql&gt; ed '
使用'&amp;'后跟一个名称来接受来自用户的输入。即&amp; 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;
/
这将提示输入..
答案 2 :(得分:0)
创建OR替换过程输入(Roll IN number,Book_n IN varchar) 如 &lt; - 程序体 - &gt; 结束; / 接受Rollno编号提示'输入滚动编号:'; 接受BookName varchar(20)提示“输入书名:';
Declare
Roll_no number;
B_name varchar(20);
Begin
Roll_no:= &Rollno;
B_name := '&BookName'
input(Roll_no,B_name);
end;
/
答案 3 :(得分:0)
设置serveroutput;
接受Roll_no号码提示&#39;输入滚动号码:&#39 ;; 接受B_name varchar2提示&#39;输入书名:&#39;;
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;
/