第4章SQL*Plus命令 在数据库系统中,可以使用两种方式执行命令, 种方式是通过图形化工具,另一种方式是直接使用 各种命令。图形化工具的特点是直观、简单、容易记 忆,而直接使用命令则需要记忆具体命令的语法形式 。但是,图形工具灵活性比较差,不利于用户对命令 清率电脑学堂 和其选项的理解;而命令则非常灵活,有利于加深用 户对复杂命令选项的理解,并且可以完成某些图形工 具无法完成的任务。在Oracle11g系统中,提供了用 于执行SQL语句和PL/SQL程序的工具SQL*Plus
1 第4章 SQL*Plus命令 在数据库系统中,可以使用两种方式执行命令, 一种方式是通过图形化工具,另一种方式是直接使用 各种命令。图形化工具的特点是直观、简单、容易记 忆,而直接使用命令则需要记忆具体命令的语法形式 。但是,图形工具灵活性比较差,不利于用户对命令 和其选项的理解;而命令则非常灵活,有利于加深用 户对复杂命令选项的理解,并且可以完成某些图形工 具无法完成的任务。在Oracle 11g系统中,提供了用 于执行SQL语句和PL/SQL程序的工具SQL*Plus
本章知迟要点: 理解SQL*Pus的运行环境 进行基本的运行环境设置 使用HELP命令 DESCRIBE命令的作用 清率电脑学堂 PROMPT命令的使用 SPOOL命令的使用 使用COLUMN命令格式化查询结果 缓存区命令的使用 在SQL*Pus中运行脚本文件
2 本章知识要点: • 理解SQL*Plus的运行环境 • 进行基本的运行环境设置 • 使用HELP命令 • DESCRIBE命令的作用 • PROMPT命令的使用 • SPOOL命令的使用 • 使用COLUMN命令格式化查询结果 • 缓存区命令的使用 • 在SQL*Plus中运行脚本文件
4.1SQL*PIus的运行环境 SQL*PIus运行环境是SQL*Plus的运行方式,查询 语句执行结果显示方式的总称。设置合适的SQL*Pus 运行环境,使得SQL*Pus能够按照用户的要求运行和 执行各种操作。 清率电脑学堂
3 4.1 SQL*Plus的运行环境 • SQL*Plus运行环境是SQL*Plus的运行方式,查询 语句执行结果显示方式的总称。设置合适的SQL*Plus 运行环境,使得SQL*Plus能够按照用户的要求运行和 执行各种操作
4.1.1使用SET语句选项 在Pracle11g系统中, 用户可以使用SET命令来设 置SQL*Pus的运行环境。 选 SET ARRAYSIZE 15IN] set 贸装o。米pw 当SQL命令执行完毕后,立即提交用户做的更政,而当设置为OFF时,则必须用户使用 COMMIT命令提交。关于事务处理的请参考相送章节。 自动打印变量值,如果auoprinti设置为0n,则在过程的执行过程中可以看到屏幕上打印 的变量值:设置为OF时表示只品示过程执行完毕这样的提示。 设定为am时,将以默认的文件名来记录重做记录,当需要恢复时,可以使用cw心 utomatic database语句恢复,否则只能使用recover database语句恢复。 对正常执行完毕的sqdm语句自动生成报表信息。 set blockterminator{clonloff定义表示结束P/SOL块结束的字符。 定义sq*PIus的命令行区分字 ,状认值为,也就是说回车链表示下一条命令并开始 执行:假如设置为,则命令行区分字符会被自动设定成,这样就可以在一行内册 清率电脑学堂 set linesize (80n 设置SQL*P1在一行中能够显示的总字存数,默认值为8O。可以的取值为任意正整数。 set long (80n} 为LONG型数值设置最大示宽度,默认值为$0。 set newpage (Innone 设置特页打印标趣前的空行数,默认值为1。 set null text 设置当SELECT语返回NULL值时湿示的字符串 set numformat forma 设置数字的默认显示格式。 set paeesize (14n! 设冒每贡打印的行数,该值包、EWPAG正设置的空行数。 set 当取值为NO时表示输出结果的一页都暂停 用户技下回车键后维续显示取为字符神时,每次暂停都将显示该宁待串, set recsep wrapped I each of到 设置输出结果中列与列之间的空格数,默认值为10。 set sqlcase mixed lowe 设得在执行L命令字前是鼓换大小:取值可以为XD(不进行转换】、LOWER R(转换为大写 ntinue >test et time ofl on 小时,表示在每个命令提示符最示当调系统时间:取值 set timing foff on) set underline(-clon loffy 置9OLPs是否在列标题下面添加分线 取值为O或OF时分别表示为打开或关闭 功能:还可 设置列标题下面分隔张的样 set wrap on loff) 设置当一个数据项比当的行宽长时,SQ儿Lp运是否莜断数据项的显示。取值为O时表
4.1.1 使用SET语句选项 • 在Oracle 11g系统中,用户可以使用SET命令来设 置SQL*Plus的运行环境。 4 选项 说明 SET ARRAYSIZE {15|N} 设置SQL*PLUS一次从数据库中取出的行数,其取值范围为任意正整整数。 set autocommit{on|off|immediat e|n} 该参数的值决定Oracle何时提交对数据库所做的修改。当设置为ON和IMMEDIATE时, 当SQL命令执行完毕后,立即提交用户做的更改;而当设置为OFF时,则必须用户使用 COMMIT命令提交。关于事务处理的请参考相关章节。 set autoprint{on|off} 自动打印变量值,如果autoprint设置为on,则在过程的执行过程中可以看到屏幕上打印 的变量值;设置为OFF时表示只显示“过程执行完毕”这样的提示。 set autorecovery{on|off} 设定为on时,将以默认的文件名来记录重做记录,当需要恢复时,可以使用recover automatic database语句恢复,否则只能使用recoverdatabase语句恢复。 Set autotrace{on|off|t race [only]}[explain][statistics] 对正常执行完毕的sql dml语句自动生成报表信息。 set blockterminator {c|on|off} 定义表示结束PL/SQL块结束的字符。 set cmdsep{;|c|on|off} 定义sql*Plus的命令行区分字符,默认值为off,也就是说回车键表示下一条命令并开始 执行;假如设置为on,则命令行区分字符会被自动设定成“;”,这样就可以在一行内用“; ”分隔多条sql命令。 set colsep{ _|text} 设置列和列之间的分隔字符。默认情况下,在执行select输出的结果中,列和列之间是以 空格分隔的。这个分隔符可以通过使用SET COLSEP命令来定义。 set linesize {80|n} 设置SQL*Plus在一行中能够显示的总字符数,默认值为80。可以的取值为任意正整数。 set long {80|n} 为LONG型数值设置最大显示宽度,默认值为80。 set newpage {1|n|none} 设置每页打印标题前的空行数,默认值为1。 set null text 设置当SELECT语句返回NULL值时显示的字符串。 set numformat format 设置数字的默认显示格式。 set pagesize {14|n} 设置每页打印的行数,该值包括NEWPAGE设置的空行数。 set pause{off|on|text} 设置SQL*Plus输出结果时是否滚动显示。当取值为NO时表示输出结果的每一页都暂停, 用户按下回车键后继续显示;取为字符串时,每次暂停都将显示该字符串。 set recsep {wrapped | each | off} 显示或打印记录分隔符。其取值为WRAPPED时,只有在折叠的行后面打印记录分隔符; 取值为EACH则表示每行之后都打印记录分隔符;OFF表示不必打印分隔符。 set space{1 | n} 设置输出结果中列与列之间的空格数,默认值为10。 set sqlcase{mixed | lower | upper} 设置在执行SQL命令之前是否转换大小。取值可以为MIXED(不进行转换)、LOWER (转换为小写)和UPPER(转换为大写)。 set sqlcontinue{>| test} 设置SQL*Plus的命令提示符。 set time {off| on} 控制当前时间的显示。取值为ON时,表示在每个命令提示符前显示当前系统时间;取值 为OFF则不显示系统当前时间。 set timing {off| on} 控制是否统计每个SQL命令的运行时间。取值为ON表示为统计,OFF则不统计。 set underline{-| c | on | off} 设置SQL*Plus是否在列标题下面添加分隔线,取值为ON或OFF时分别表示为打开或关闭 该功能;还可以设置列标题下面分隔张的样式。 set wrap {on | off} 设置当一个数据项比当前行宽长时,SQL*Plus是否截断数据项的显示。取值为OFF时表 示截断,ON表示为超出部分折叠到下一行显示
4.1.2设置运行环境示例 在本节将通过几个示例介绍如何设置运行环境, 以及设置后的效果。这些设置都是在平常操作中使用 频率较高的运行环境。 清率电脑学堂
4.1.2 设置运行环境示例 • 在本节将通过几个示例介绍如何设置运行环境, 以及设置后的效果。这些设置都是在平常操作中使用 频率较高的运行环境。 5
4.2SQL*PIus命令 在Oracle11g系统中,SQL*Plus提供了许多可 以定制该工具行为的命令。这些命令包括:HELP、 DESCRIBE、PROMPT、SPOOL和SHWO等。 清率电脑学堂
6 4.2 SQL*Plus命令 • 在Oracle 11g系统中,SQL*Plus提供了许多可 以定制该工具行为的命令。这些命令包括:HELP、 DESCRIBE、PROMPT、SPOOL和SHWO等
4.2.1HELP命令 SQL*Plus有许多命令,而且每个命令都有大量 的选项,要记住每一个命令的所有选项是很困难的 。不过SQL*Pus提供了内建的帮助系统,用户可以 在需要的时候,随时可以使用HELP命令查询相关的 命令信息。但是SQL*PIus的内建帮助只是提供了部 分命令信息,SQL*Pus帮助系统可以向用户提供下 清率电脑学堂 面一些信息: 命令标题。 命令作用描述的文件。 命令的缩写形式。 命令中使用的强制参数和可选参数
7 4.2.1 HELP命令 • SQL*Plus有许多命令,而且每个命令都有大量 的选项,要记住每一个命令的所有选项是很困难的 。不过SQL*Plus提供了内建的帮助系统,用户可以 在需要的时候,随时可以使用HELP命令查询相关的 命令信息。但是SQL*Plus的内建帮助只是提供了部 分命令信息,SQL*Plus帮助系统可以向用户提供下 面一些信息: • 命令标题。 • 命令作用描述的文件。 • 命令的缩写形式。 • 命令中使用的强制参数和可选参数
4.2.2 DESCRIBE命令 在SQL*Plus的许多命令中,用户使用最频繁的命 令可能是DESCRIBE命令。DESCRIBE命令可以返回 数据库中所存储的对象的描述。对于表、视图等对象 而言,DESCRIBE命令都可以列出其各个列的名称以 及各个列的属性。除此之外,DESCRIBE还会输出过 程、函数和程序包的规范。 清率电脑学堂
4.2.2 DESCRIBE命令 • 在SQL*Plus的许多命令中,用户使用最频繁的命 令可能是DESCRIBE命令。DESCRIBE命令可以返回 数据库中所存储的对象的描述。对于表、视图等对象 而言,DESCRIBE命令都可以列出其各个列的名称以 及各个列的属性。除此之外,DESCRIBE还会输出过 程、函数和程序包的规范。 8
4.2.3 PROMPT命令 使用PROMPT命令可以在屏幕上输出一行数据,这 种输出方式非常有助于在存储的脚本文件中向用户传递 相应的信息。 PROMPT命令的语法形式如下: 清率电脑学堂 prompt prompt_text;
4.2.3 PROMPT命令 • 使用PROMPT命令可以在屏幕上输出一行数据,这 种输出方式非常有助于在存储的脚本文件中向用户传递 相应的信息。 • PROMPT命令的语法形式如下: 9 prompt prompt_text;
4.2.4 SPOOL命令 使用SPOOL命令可以把查询结果保存到文件中, 或者把查询结果发送到打印机中。SPOOL命令的语法 格式如下: 清率电脑学堂 spool file_name [create ][replace]l [append]|off;
4.2.4 SPOOL命令 • 使用SPOOL命令可以把查询结果保存到文件中, 或者把查询结果发送到打印机中。SPOOL命令的语法 格式如下: 10 spool file_name [create ] | [replace] | [append] | off;