接受和提示的用户输入

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标志输入的结束,求出其中的最大值,最小值和平均值

Shell基础--read接受键盘输入

第 7 章 用户输入和while 循环

用户输入和while 循环

我想在 PL SQL 中接受用户输入并将其传递给程序,给我看一个简单的程序吗?

python3.4控制用户输入与输出