设置 SQL*Plus 的运行环境

Posted niujifei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置 SQL*Plus 的运行环境相关的知识,希望对你有一定的参考价值。

  SQL*Plus 的运行环境是用来输入、执行 SQL*Plus 命令和显示返回结果的场所,设置合适的 SQL*Plus 运行环境,可以使 SQL*Plus 按照用户的要求运行和执行各种操作。set 命令也称 set 变量或维护系统变量,利用它可为 SQL*Plus 交互建立一个特殊的环境。

一、set 命令概述

  用户可以使用 set 命令设置 SQL*Plus 的运行环境

  语法:

set  system_variable  value
  •  system_variable:变量名
  •     value:变量值

  set 命令的常用变量名、可选值及其说明如表:

变量名 变量可选值 说明
Array[size] 20(默认值)

设置查询的行数,是SQL*Plus一次工数据库获取的行数,

大的值可提供查询和子查询的有效性

Auto[commit] off(默认值)|on|immediate

控制Oracle对数据的修改的提交,为off时,则制止自动提交,需要手动提交修改

设置为on时,在Oracle 执行每个SQL命令或pl/sql 块后自动提交修改(同IMMediate)

Echo off|on

控制 start 命令是否列出命令文件中的每一命令,若设置为on时,则列出命令

若为off,则制止列清单

Flu[sh] off|on(默认值)

控制输出送至用户的显示设备。设置为off时,运行操作系统做缓冲区输出;设置为on时,不允许缓冲;

仅当非交互方式运行命令文件时使用off,这样可减少程序I/O 总数,从而改进性能

Hea[ding]   off|on(默认值) 控制报表中列标题的打印。设置为on时,在报表中打印列表题,为off时禁止打印列标题
Newp[age] 1(默认值)|n 设置一页中空行的数量
Numf[ormat] 格式 设置显示数值的默认格式,该格式是数值格式
Pages[ize] 14(默认值)|n   设置从顶部标题至页结束之间的行数
Show[mode] off(默认值)|n 控制SQL*Plus 在执行set 命令时是否列出其新老值 old 或new 的设置,其中,on值表示列出新老值

 

二、使用 set 命令设置运行环境

  1、pagesize 变量

    该变量用来设置从顶部标题至页结束之间的行数。

    语法格式:

set  pagesize  value

    value 变量的默认值为14,可以根据实际情况修改value 的值,该值是一个正整数。

    当 SQL*Plus 返回查询结果时,首先会显示用户所选择数据的列标题,然后再相应列标题下显示数据行,上下两个列标题所在行之间的空间就是 SQL*Plus 的一页。一页所显示的数据行的数量就是 该变量的值。可以使用 show  pagesize  命令来查看这一页有多少行。

  2、Newpage 变量

    该变量用来设置一页中空行的数量。

    语法格式:

set  newpage value

    value 的默认自为1,根据实际需要,可以修改 value 的值,该值是一个正整数。可以使用 show  newpage  命令来查看这一页有多少空行。

  3、Linesize 变量

    该变量用来设置在 SQL*Plus 环境中一行所显示的最多字符总数。

    语法格式:

set  linesize  value

    value 的默认值是80,可以根据实际需要,修改value 的值,该值为一个正整数。

   如果数据行的宽度大于 linesize 变量的值,当在 SQL*Plus 环境中按照 linesize 指定的数量输出字符,数据就会发生折行显示的情况。

   可以使用 show  line命令来查看这一行可以显示的最多字符总数。

  4、Pause 变量

    该变量用来设置 SQL*Plus 输出结果是否滚动显示。

    语法格式:

set pause value

    value 变量值有以下3种情况:

  •   off:默认值,返回结果一次性输入完毕,中间的每一页不会暂停
  •        on:表示输出结果的每一页都粘贴,用户按 enter 键后继续显示
  •        text:在设置 pause 的值为 on 之后,若再设置 text 的值,则每次暂停都将显示该字符串。当 pause 的值为off时,设置 text 值没有任何意义。

  在 SQL*Plus 环境中显示多行数据,并且一页无法容纳这么多数据行时,如果pause 变量值为off,则 SQL*Plus 窗口输出的数据行会快速滚动。不利于用户查看。这就需要把 pause 的值设置为on 时,就可以实现控制 SQL*Plus 在显示完一页后暂停滚动,直到按 enter 键后才继续显示下一页。还可以通过pause 变量设置暂停后显示的字符串,以便于提示用户操作。

  5、Numformat 变量

    该变量用来设置显示数值的默认格式,该格式是数值格式。

    语法格式:

set  numformat   format

  format 为数值的掩码,数值的常用掩码如下:

掩码 说明 举例
9 查询结果中数字替换格式中的掩码 999
0 格式中的掩码屏蔽掉查询结果中的数字 999.00
$ 在查询结果中的数字前添加美元前缀 $999
S 为数字显示符号类型,通常用于显示查询结果中的正负数字 S999
, 在字符  "," 位置上放置逗号 999,99

   当用户查询数据库中的数值时,SQL*Plus 环境将使用默认的格式显示数值,即以10个字符的宽度和常规格式来显示数字。

 

以上是关于设置 SQL*Plus 的运行环境的主要内容,如果未能解决你的问题,请参考以下文章

在脚本期间备份 SQL Plus 环境

SQL *Plus基础

SQL *Plus基础

SQL*Plus环境变量设置浅析

实验四:SQL*PLUS命令的使用

Oracle统计分析和优化环境配置