接受和提示的用户输入
Posted
技术标签:
【中文标题】接受和提示的用户输入【英文标题】:User input with accept and promp 【发布时间】:2019-06-04 00:16:15 【问题描述】:如果他们的销售量超过用户输入的数量,我需要对 6 家假冒公司的每个销售人员进行报告。我在使用 oracle Db 的 sql 开发人员中。
我要求在我的班上学习他们是怎么做的,他们做的事情对我不起作用,我总是在接受/提示时出错。
/
accept temp default '100';
/
when '&temp' < 90.00 then raise too_cold;
我也尝试过这样使用它:
accept temp prompt 'Input degree (numerically in degrees F)?:';
我想用文字显示提示,以便用户知道输入什么并使用我得到的数字。
【问题讨论】:
为temp
变量添加数据类型,如以下堆栈溢出 问题所示:SQL*Plus how to accept text variable from prompt?
Erreur(4,13):PLS-00103:在预期以下情况之一时遇到符号“NUMBER”::=。 ( @ % ; 不为空范围默认字符仍然得到那个
【参考方案1】:
帮助自己。
SQL> help accept
ACCEPT
------
Reads a line of input and stores it in a given substitution variable.
ACC[EPT] variable [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE]
[FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]
我们开始吧:
SQL> set ver off
SQL>
SQL> accept temp number default 20 prompt 'Enter department number: '
Enter department number: 10
SQL> select deptno, ename from emp where deptno = &temp;
DEPTNO ENAME
---------- ----------
10 CLARK
10 KING
10 MILLER
SQL>
如果没有输入,则使用默认值:
SQL> accept temp number default 20 prompt 'Enter department number: '
Enter department number:
SQL> select deptno, ename from emp where deptno = &temp;
DEPTNO ENAME
---------- ----------
20 SMITH
20 JONES
20 SCOTT
20 ADAMS
20 FORD
SQL>
【讨论】:
如果它是一个过程,那么让它接受一个参数(create procedure px (par_temp in number default 20) as ...
)并从那里继续。请注意,它不会像SELECT
那样返回数据。也许你应该使用一个返回 ref cursor 的函数。以上是关于接受和提示的用户输入的主要内容,如果未能解决你的问题,请参考以下文章
编程接受用户输入的若干整数,一-1标志输入的结束,求出其中的最大值,最小值和平均值