Oracle的SQL*Plus命令

SQL*Plus是一个用于数据查询和处理的C/S结构工具。文章详细介绍了如何设置SQL*Plus运行环境,包括ARRAY_SIZE、AUTO_COMMIT等SET命令的使用,并列举了DESCRIBE、SPOOL、EDIT等常用命令,以及如何格式化查询结果。同时,还展示了如何通过COLUMN命令设置列标题和格式,以及TTITLE和BTITLE用于设置报表头和页标题。
摘要由CSDN通过智能技术生成

SQL*Plus是一个基于C/S结构的客户端操作工具。主要用来进行数据查询和数据处理。

# 设置SQL*Plus的运行环境

使用SET命令为SQL*Plus设置运行环境。

## SET命令概述

语法:

SET system_variable value

SET命令差用变量名及其可用值:

变量名

可选值

说明

ARRAY[SIZE]

20(默认值)|n

设置查询的行数,是SQL*Plus一次从数据库获取的行数,有效值为1到5000。

AUTO[COMMIT]

OFF(默认值)|ON|IMMEDIATE

控制数据库是否自动提交。IMMEDIATE等同于ON。

BLO[CKTERMINATOR]

.(默认值)|C

设置非字母数字字符,用于结束PL/SQL块。CC

CMDS[EP]

;|C|OFF(默认值)|ON

设置非字母数字字符,用于分隔在一行中输入的多个SQL*Plus命令。ON或OFF控制在一行中是否能输入多个命令。ON时将自动将命令分隔符设置为分号,其中C表示所置字符。

ECHO

OFF|ON

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

FLU[SH]

OFF|ON(默认值)

HEA[DING]

OFF|ON(默认值)

控制列标题的打印。

LIN[ESIZE]

80(默认值)|n

设置SQL*Plus中以行显示的最多字符总数

NEWP[AGE]

1(默认值)|n

设置一页中空行的数量

NULL

text

设置表示空值的文本,默认以空格显示。

NUMF[ORMAT]

格式

设置显式数值的默认格式,该格式是数值格式。

PAGES[IZE]

14(默认值)|n

设置从顶部标题至页结束之间的行数。

PAU[SE]

OFF(默认值)|ON|TEXT

设置SQL*Plus输出结果是否滚动显示。当设置为ON时,表示输出结果的每一页都暂停,用户按回车键后继续显示;在设置为ON,再设置字符串时,则每次暂停都将显示该字符串。

RECSEP

WR[APPED](默认值)|EA[CH]|OFF

指定显示或打印记录分行符的条件。

SERVEROUT[PUT]

OFF|ON [SIZE n]

控制在SQL*Plus中的存储过程是否显示输出。SIZE设置缓冲输出的字节数,默认为2000,n不能小于2000或大于100万。

SHOW[MODE]

OFF(默认值)|ON

控制SQL*Plus在执行SET命令时是否列出其新旧值设置。ON为显示。

SPA[CE]

1(默认值)|n

设置输出列之间空格的数目,其最大值为10。

SQLCO[NTINE]

>;(默认值)|文本

在一附加行上继续某个SQL*Plus命令时,SQL*Plus以该设置的字符序列进行提示。

SQLN[UMBER]

OFF|ON(默认值)

为SQL命令和PL/SQL块的第二行和后继行设置提示。若为ON,则提示行号;若为OFF,则提示设置为SQLPROMPT的值。

TI[ME]

OFF(默认值)|ON

控制当前日期的显示。

TIMI[NG]

OFF(默认值)|ON

控制时间统计的显示。

UND[ERLINE]

-(默认值)|C|OFF|ON(默认值)

设置用在列标题下的字符。

VER[IFY]

OFF|ON(默认值)

控制SQL*Plus用值替换前、后是否列出命令的文本。

WRA[P]

OFF|ON(默认值)

控制SQL*Plus是否截断数据项的显示。

# 常用SQL*Plus命令

1.设置列标题大小

col col_Name format a10

2.设置null的显示

set null test

比如设置null显示为UNKNOWN

set null UNKNOWN

3.使得pl/sql程序能够在sqlplus中输出结果

set serveroutput on

4.HELP命令

help startup:查看startup命令的帮助信息。

help index:查看SQL*Plus命令清单:

SQL> help index

Enter Help [topic] for help.

@             COPY         PAUSE                    SHUTDOWN

@@            DEFINE       PRINT                    SPOOL

/             DEL          PROMPT                   SQLPLUS

ACCEPT        DESCRIBE     QUIT                     START

APPEND        DISCONNECT   RECOVER                  STARTUP

ARCHIVE LOG   EDIT         REMARK                   STORE

ATTRIBUTE     EXECUTE      REPFOOTER                TIMING

BREAK         EXIT         REPHEADER                TTITLE

BTITLE        GET          RESERVED WORDS (SQL)     UNDEFINE

CHANGE        HELP         RESERVED WORDS (PL/SQL)  VARIABLE

CLEAR         HOST         RUN                      WHENEVER OSERROR

COLUMN        INPUT        SAVE                     WHENEVER SQLERROR

COMPUTE       LIST         SET                      XQUERY

CONNECT       PASSWORD     SHOW

5.DESCRIBE命令

查询指定对数据对象的组成结构。可缩写为desc。

可以在编写语句的过程中,使用#desc object_name随时查看对象信息:

SQL> select id,

  2  # desc test    --忘记列名,重新查看

Name                                      Null?    Type

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

ID                                                 NUMBER(38)

NAME                                               VARCHAR2(100)

  2  name from test;  --继续写SQL语句

no rows selected

6.SPOOL命令

将查询结果输出到指定文件中。语法为:

SPO[OL] [file_name[.ext] [CRE[ATE]|REP[LACE]|APP[END]] |OFF|OUT]

  • 默认输出文件扩展名为LST;

  • CREATE:创建新的脱机文件,默认行为;

  • REPLACE:替代已经存在的输出文件;

  • APPEND:将内容附加到一个已经存在的文件中;

  • OFF|OUT:关闭SPOOL输出;

7.DEFINE命令

定义用户变量。

8.SHOW命令

显示SQL*Plus系统变量的值或SQL*Plus环境变量的值。

9.EDIT命令

编辑SQL缓冲区或指定磁盘文件中的SQL语句或PL/SQL块。

10.SAVE命令

将SQL缓冲区中的最近一条SQL语句或PL/SQL块保存到一个文件中。

如果要清空SQL缓冲区中的内容,可以使用clear buffer命令。

11.GET命令

将一个SQL脚本文件中的内容放进SQL缓冲区。

12.START和@命令

用来执行一个SQL脚本文件。

# 格式化查询结果

可对结果进行设置列的标题、定义输出值的显示格式和显示宽度、为报表增加头标题和底标题、在报表中显示当前日期和页号等。

## COLUMN命令

该命令可以实现格式化查询结果、设置列宽度、重新设置列标题等功能。语法:

COL[UMN] [column_name|alias|option]

option可用值有:

option选项值

说明

CLEAR

恢复默认设置

FORMAT

格式化指定的列

HEADING

定义列标题

JUSTIFY

调整列标题的对齐方式。默认数值类型的为右对齐,其他未左对齐

NULL

指定一个字符串,若列值为null,则由该字符串代替

PRINT/NOPRINT

显示列标题或隐藏列标题,默认为PRINT

ON|OFF

控制定义的显示属性的状态,默认为ON

WRAPPED

当字符串的长度超过显示宽度时,将字符串的超出部分折叠到下一行显示

WORD_WRAPPED

表示从一个完整的字符处折叠

TRUNCATED

表示截断字符串尾部

## TTITLE和BTITLE命令

用以为输出结果设置报表头、为每页设置页标题和页码、为整个输出结果设置报表未等。

### TTITLE

语法:

TTI[TLE] [printspec [text|variable] ... ] | [OFF|ON]

  • printspec:用来作为头标题的修饰性选项;

  • text:用于设置输出结果的报表头文字;

  • variable:在头标题中输出相应的变量值;

  • OFF:禁止打印头标题;

  • ON:允许打印头标题;

printspec选项值的说明:

printspec选项的值

说明

COL

指定在当前行的第几列打印头部标题

SKIP

跳到从下一行开始的第几行,默认为1

LEFT

在当前行中左对齐打印数据

CENTER

在当前行中间打印数据

RIGHT

在当前行中右对齐打印数据

BOLD

以黑体打印数据

### BTITLE

设置报表尾。

选项与TTITLE相同。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丹心明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值