目录
SQL * Plus 是一个被系统管理员 (DBA)和开发人员广泛使用的功能强大而且很直观的 Oracle 工具,也是一个可以通用在各种平台上且操作几乎完全一致的工具。SQL * Plus 可以执行输入的 SQL 语句和包含 SQL 语句的文件和 PL/SQL 语句,通过 SQL *Plus 可以与数据库进行对话。
SQL * Plus 是一个基于 C/S 两层结构的客户端操作工具,包括客户层(即,命令行窗口)和服务器层(即数据库实例),这两层既可以在一台主机上,也可以在不同主机上。SQL *Plus 是一个非常重要的操作 oracle 数据库的实用工具,后面我们讲的关于 SQL 和 PL/SQL 的示例大多都是在 SQL *Plus 环境下进行演示的。
设置 SQL *Plus 运行环境
SQL *Plus 的运行环境是用来输入、执行 SQL *Plus 命令和显示返回结果的场所,设置合适的 SQL *Plus 运行环境可以使 SQL *Plus 能够按照用户的要求运行和执行各种操作。set 命令也称 set 变量或维护系统变量,利用它可为 SQL *Plus 交互建立一个特殊的环境,如设置屏幕上每一行能够最多显示字符数、设置每页打印的行数、设置某个列的宽度等。下面对 set 命令进行详细讲解。
1、set 命令基本语法
在 Oracle 中,用户可以使用 set 命令来设置 SQL *Plus 的运行环境,set命令的语法格式为:set system_variable value ;其参数说明为:system_variable :变量名,value :变量值 。其常用的变量名、可选值及其说明如下表:
array [size] | 20(默认值) | n | 设置一批的行数,是 SQL *Plus 一次从从数据库获取的函数,有效值为 1~5000.大的值可提高查询和子查询的有效性,可获取许多行,但也需要更多的内存。当超过1000时,其效果不大 |
newp [age] | 1(默认值) | n | 设置一页中空行的数量,默认值为 1 |
numf [ormat] | 格式 | 设置显示数值的缺省格式,该格式是数值格式 |
pages [ize] | 14(默认值) | n |
设置从顶部标题至页结束之间的行数 |
pau [se] | off(默认值) | on | text | 设置 SQL *Plus 输出结果是否滚动显示,当设置为 on 时,表示输出结果的每一页都暂停,用户按回车键后继续显示 |
show [mode] | off(默认值) | on | 控制 SQL *Plus 在执行 set 命令时是否列出其新老值 old 或 new 的设置,on 表示列出新老值 |
spa [ce] | 1(默认值) | n | 设置输出列之间空格的数目,其最大值为 10 |
sqlco [ntinue] | >;(默认值) | 文本 | 在一附加行上继续某个 SQL *Plus 命令时,SQL *Plus 以该设置的字符串列进行提示。若为 on 则提示行号,off 提示设置为 sqlprompt 的值 |
ti [me] | off(默认值) | on | 控制当前日期显示,若为 on 时则在每条命令提示前显示当前时间,若为off则禁止时间的显示 |
timi [ng] | off(默认值) | on | 控制时间统计的显示,若为 on ,则显示每一个运行的 SQL 命令或 PL/SQL 块的时间统计;若为 off ,则禁止每一个命令的时间统计 |
und [erline] | -(默认值) | off | on(默认值) | 设置用在 SQL *Plus 报表中下划线列标题的字符,on 或 off 将下划线置成开或关状态 |
ver [ify] | off | on(默认值) | 控制 SQL *Plus 用值替换前、后是否列出命令的文本。on 表示显示文本 |
lin [esize] | 80(默认值) | n | 设置 SQL *Plus 在一行中显示的最多字符总数,它还控制在 ttitle 和 btitle 中对准中心的文本和右对齐文本 |
需要注意的是,通过 set 命令设置的环境变量是临时的,不是永久的,当用户退出 SQL *Plus 环境后,用户设置的环境参数会全部丢失。
2、使用 SET 命令设置运行环境
这里针对在 Oracle 操作过程中经常用到的几个变量选项及其实例应用进行详细讲解。
1)、pagesize 变量
该变量是用来设置从顶部标题至页结束之间的行数,其语法格式如下: set pagesize value ; value 变量的默认值是14,根据实际情况的需要,用户可以修改 value 的值,该值是一个整数,当 SQL *Plus 返回查询结果时,它首先会显示用户所选择数据的列标题,然后在相应列标题下显示数据行,上下两个列标题所在行之间的空间就是 SQL *Plus 的一页。一页中所显示的数据行的数量就是 pagesize 变量的值,若要查看当前 SQL *Plus 环境中的一页有多少行,可以使用命令 show pagesize 命令。
注意:不要把当前窗口区域内能够显示的行数看作是 SQL *Plus 环境中一页的行数,一页的行数由 pagesize 变量值来决定。另外一页内的数据行包括两个列标题之间的数据行、上面的一个列标题、分割线和空行。
2)、newpage 变量
该变量用来设置一页中空行的数量,其语法格式如下: set newpage value ; value 的默认值为 1 ,根据实际情况的需要,用户可以修改 value 的值,该值是一个整数。