oracle的交互式命令,2.3.3 与变量有关的交互式命令

本文介绍了SQL*Plus中的prompt、accept和pause三个交互式命令,如何在文本文件中实现灵活输入输出,包括prompt用于屏幕提示、accept获取用户输入并存储、pause暂停执行以等待用户输入。通过实例演示了在工资统计脚本中的实际操作和应用场景。
摘要由CSDN通过智能技术生成

2.3.3   与变量有关的交互式命令

SQL*Plus还提供了几条交互式命令,主要包括prompt、accept和pause。这几条命令主要用在文本文件中,用来完成灵活的输入输出。

prompt命令用来在屏幕上显示指定的字符串。这条命令的格式为:prompt 字符串

注意这里的字符串不需要单引号限定,即使是用空格分开的几个字符串。prompt命令只是简单地把其后的所有内容在屏幕上显示。例如:SQL>prompt I'm a programmer

I'm a programmer

accept命令的作用是接收用户的键盘输入,并把用户输入的数据存放到指定的变量中,它一般与prompt命令配合使用。accept命令的格式为:accept 变量名 变量类型  prompt  提示信息  选项

其中变量名是指存放数据的变量,这个变量不需要事先定义,可直接使用。变量类型是指输入的数据的类型,目前SQL*Plus只支持数字型、字符型和日期型数据的输入。prompt用来指定在输入数据时向用户显示的提示信息。选项指定了一些附加的功能,可以使用的选项包括:hide和default。hide功能使用户的键盘输入不在屏幕上显示,这在输入保密信息时非常有用。default为变量指定默认值,在输入数据时如果直接回车,则使用该默认值。

例如,希望从键盘输入一个数字型数据到变量xyz,在输入之前显示指定的提示信息,还为变量指定默认值,这样如果在输入数据时直接回车,那么变量的值就是这个默认值。对应的accept命令的形式为:SQL>accept xzy number prompt 请输入变

量xyz的值: default 0

请输入变量xyz的值:100

pause命令的作用是使当前的执行暂时停止,在用户输入回车键后继续。一般情况下pause命令用在文本文件的两条命令之间,使***条命令执行后出现暂停,待用户输入回车键后继续执行。pause命令的格式为:

pause 文本

其中文本是在暂停时向用户显示的提示信息。

现在,我们构造一个文本文件,演示这几条命令的用法。文本文件e.sql的功能是统计某个部门的员工工资,部门号需要用户从键盘输入。文本文件的内容如下:prompt 工资统计现在开始

accept dno number prompt 请输入部门号: default 0

pause 请输入回车键开始统计...

SELECT ename,sal FROM emp WHEREdeptno=&dno;

这个脚本文件的执行过程为:SQL>@/home/oracle/e

工资统计现在开始

请输入部门号:10

请输入回车键开始统计...

原值1: SELECT ename,sal FROM emp WHEREdeptno=&dno

新值1: SELECT ename,sal FROM emp WHEREdeptno=10

ENAME SAL

---------- ----------

CLARK 2450

KING 5000

MILLER 1300

如果希望生成一个报表,那么可以在SELECT前后分别加上spool命令,将统计的结果写到一个文件中,或者发往打印机。

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值