资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1第4章 SQL*Plus命令 在数据库系统中,可以使用两种方式执行命令,一种方式是通过图形化工具,另一种方式是直接使用各种命令。图形化工具的特点是直观、简单、容易记忆,而直接使用命令则需要记忆具体命令的语法形式。但是,图形工具灵活性比较差,不利于用户对命令和其选项的理解;而命令则非常灵活,有利于加深用户对复杂命令选项的理解,并且可以完成某些图形工具无法完成的任务。在Oracle 11g系统中,提供了用于执行SQL语句和PL/SQL程序的工具SQL*Plus。2本章知识要点: 理解SQL*Plus的运行环境 进行基本的运行环境设置 使用HELP命令 DESCRIBE命令的作用 PROMPT命令的使用 SPOOL命令的使用 使用COLUMN命令格式化查询结果 缓存区命令的使用 在SQL*Plus中运行脚本文件。34.1 SQL*Plus的运行环境 SQL*Plus运行环境是SQL*Plus的运行方式,查询语句执行结果显示方式的总称。设置合适的SQL*Plus运行环境,使得SQL*Plus能够按照用户的要求运行和执行各种操作。4.1.1 使用SET语句选项 在Oracle 11g系统中,用户可以使用SET命令来设置SQL*Plus的运行环境。4选项说明SET ARRAYSIZE 15|N设置SQL*PLUS一次从数据库中取出的行数,其取值范围为任意正整整数。set autocommiton|off|immediate|n该参数的值决定Oracle何时提交对数据库所做的修改。当设置为ON和IMMEDIATE时,当SQL命令执行完毕后,立即提交用户做的更改;而当设置为OFF时,则必须用户使用COMMIT命令提交。关于事务处理的请参考相关章节。set autoprinton|off自动打印变量值,如果autoprint设置为on,则在过程的执行过程中可以看到屏幕上打印的变量值;设置为OFF时表示只显示“过程执行完毕”这样的提示。set autorecoveryon|off设定为on时,将以默认的文件名来记录重做记录,当需要恢复时,可以使用recover automatic database语句恢复,否则只能使用recover database语句恢复。Set autotraceon|off|trace onlyexplainstatistics对正常执行完毕的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 pauseoff|on|text设置SQL*Plus输出结果时是否滚动显示。当取值为NO时表示输出结果的每一页都暂停,用户按下回车键后继续显示;取为字符串时,每次暂停都将显示该字符串。set recsep wrapped | each | off显示或打印记录分隔符。其取值为WRAPPED时,只有在折叠的行后面打印记录分隔符;取值为EACH则表示每行之后都打印记录分隔符;OFF表示不必打印分隔符。set space1 | n设置输出结果中列与列之间的空格数,默认值为10。set sqlcasemixed | 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 设置运行环境示例 在本节将通过几个示例介绍如何设置运行环境,以及设置后的效果。这些设置都是在平常操作中使用频率较高的运行环境。564.2 SQL*Plus命令 在Oracle 11g系统中,SQL*Plus提供了许多可以定制该工具行为的命令。这些命令包括:HELP、DESCRIBE、PROMPT、SPOOL和SHWO等。74.2.1 HELP命令 SQL*Plus有许多命令,而且每个命令都有大量的选项,要记住每一个命令的所有选项是很困难的。不过SQL*Plus提供了内建的帮助系统,用户可以在需要的时候,随时可以使用HELP命令查询相关的命令信息。但是SQL*Plus的内建帮助只是提供了部分命令信息,SQL*Plus帮助系统可以向用户提供下面一些信息: 命令标题。 命令作用描述的文件。 命令的缩写形式。 命令中使用的强制参数和可选参数。4.2.2 DESCRIBE命令 在SQL*Plus的许多命令中,用户使用最频繁的命令可能是DESCRIBE命令。DESCRIBE命令可以返回数据库中所存储的对象的描述。对于表、视图等对象而言,DESCRIBE命令都可以列出其各个列的名称以及各个列的属性。除此之外,DESCRIBE还会输出过程、函数和程序包的规范。84.2.3 PROMPT命令 使用PROMPT命令可以在屏幕上输出一行数据,这种输出方式非常有助于在存储的脚本文件中向用户传递相应的信息。 PROMPT命令的语法形式如下:9prompt prompt_text;4.2.4 SPOOL命令 使用SPOOL命令可以把查询结果保存到文件中,或者把查询结果发送到打印机中。SPOOL命令的语法格式如下:10spool file_name create | replace | append | off;4.3 格式化查询结果 SQL*Plus提供了大量的命令用于格式化查询结果,使用这些命令可以对查询结果进行格式化,以产生用户需要的报表。使用这些命令可以实现重新设置列的标题,重新定义列的值的显示格式和显示宽度,为报表增加头标题和底标题,在报表中显示当前日期和页号,也可以为报表添加新的统计数据等。常用的格式化查询结果命令包括:COLUMN、COMPUTE、BREAK、BTITLE和TTITLE等。114.3.1 COLUMN命令 通过使用COLUMN命令,可以对控制查询结果集中列的显示格式。COLUMN命令的语法格式如下:12column column_name alias | option 4.3.2 TTITLE和BTITLE命令 SQL*Plus的显示结果通常包括一个头部标题、列标题、查询结果和一个底部标题。如果输出结果需要打印多个页,则每个页都可以拥有自己的页标题和列标题。每页可以打印的数量由用户设置的页的大小决定,用户设置系统参数NEWPAGE可以决定头部标题之前的空行数;PAGESIZE参数则规定每页打印的行数;而每行可打印的字符数则由LINESIZE参数决定。134.4 缓存区 SQL*Plus可以在缓存区中存储用户最近执行的从命令。通过在缓存区中存储这些命令,用户可以重新调用、编辑或运行那些最近输入的SQL语句。编辑缓存区最常用的方法是将缓存区中的内容传递到Windows记事本中进行编辑。14
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号