已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页,本章概述,SQL*Plus可以作为编写SQL和PL/SQL脚本的接口。使用SQL*Plus可以执行各种SQL语句和PL/SQL语句。具体地说,SQL*Plus可以描述表的结构;可以编辑输入的各种SQL和PL/SQL语句;可以执行输入的SQL和PL/SQL语句;可以执行各种SQL*Plus命令;可以格式化SQL和PL/SQL语句的输出结果等。但是,SQL*Plus不能直接操纵数据库中的数据。 本章将全面介绍SQL*Plus的基础知识。,第2页,本章要点,启动SQL*Plus并设置其运行环境 格式化输出结果 执行各种SQL*Plus命令 使用help命令 使用SQL*Plus缓冲区 执行脚本,第3页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第4页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第5页,5.1 启动和设置SQL*Plus,在Oracle Database 10g系统中,可以使用两种方式启动SQL*Plus: 一种是命令行模式 一种是GUI方式 启动SQL*Plus之后,还可以设置其运行环境。下面详细介绍这些内容。,第6页,在命令行运行SQLPlus,为了从命令行中启动SQL*Plus,可以从DOS中输入sqlplus命令 SQLPLUS username/password server username用户名,password口令,server网络服务名。连接本地数据库,不需要提供网络服务名。,第7页,(续),第8页,在浏览器中使用iSQLPlus,第9页,(续),在使用SQL*Plus执行查询操作时,经常会遇到查询结果的显示格式非常混乱,就像如图5-3所示的查询结果。遇到这种问题时,建议使用以下3种方法来解决: (1) 忍受它。 (2) 查询少量的列。 (3) 格式化查询结果。,第10页,设置SQL*Plus运行环境,第11页,常用环境选项,(1) Pause 查询的结果超过一次屏幕,设置Pause值使其暂停显示,直到用户按Enter键继续,默认值为OFF,用SET PAUSE ONOFF 命令设置。 SQL SET PAUSE ONOFF (2) Pagesize 设置一页的大小。在默认情况下,该值为14。 SQL SET PAGESIZE 25 (3) Linesize 设置一行的字符数量,默认值为80。 (4) Feedback 在查询结果集的末尾输出返回的数据行数量,feedback默认设置为on。用Show Feedback命令可以查看其设定的值。 SQLshow feedback 如果查询结果的行数不超过6行,查询的尾部没有输出信息。 (5) Numformat 默认值为10,表明所有的数据都放到10个字符的输出中。,第12页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第13页,5.2 格式化查询结果,SQL*Plus提供了大量用于格式化结果集的命令。这些命令包括column、pause、pagesize、linesize、feedback、numformat、long等。需要注意的是,SQL*Plus忽略任何由remark或rem开头的行内容,因此该命令可以作为注释命令使用。本节将详细描述如何使用这些命令执行格式化查询结果。 需要注意的是,在使用格式化命令时,应该遵循下面的一些规则: 格式化命令设置之后,将会一直起作用,直到该会话结束或下一个格式化命令的设置; 每一次报表结束时,重新设置SQL*Plus为默认值; 如果为某个列指定了别名,必须引用该别名,而不能使用列名。,第14页,column,column命令用来控制某个列的显示格式,其详细语法格式如下: column column_name | column_aliasoption column ename heading 雇员姓名 format A15 column sal heading 薪水 justify center format $99,999.00 column comm heading 红利 justify right format $99,999.00 NULL 无 column hiredate heading 聘用日期 select ename, sal, comm, hiredate from emp; 在上面的语法中,可用的option选项如表5-2所示。,第15页,ttitle和btitle,使用ttitle命令和btitle命令可以设置报表的页眉和页脚。其语法格式和功能如表5-4所示。 ttitle 雇员薪水清单 btitle -Tom科技发展有限公司- select empno, ename, sal from emp;,第16页,pause,不同的查询语句可以返回不同的结果。有些查询语句可能会返回成千上万行数据。当SQL*Plus输出数据时,速度非常快,用户的眼睛很难跟上这种速度。如果查询结果所包含的数据超过用户屏幕边界,这时就需要在屏幕中进行一次缓冲,存储那些滚动到屏幕以外的数据。用户需要通过上下滚动来查看查询结果。 这就是pause命令的用武之地。使用该命令,可以通知SQL*Plus在一页之后停止滚动屏幕上输出的数据。,第17页,pagesize,使用pagesize命令可以设置每一页的大小,从而控制每一页显示的数据量。 在默认情况下,pagesize被设置为14。,第18页,linesize,linesize命令用于设置一行数据可以容纳的字符数量。linesize的默认值为80。该默认设置是很低效的,将会造成的后果是:对于表中的一行数据,在屏幕上以多行数据显示。 在如图5-9所示的实例中,首先使用show命令查看linesize的当前设置,然后检索emp表中的数据。由于宽度的限制,表中的一行数据在屏幕上以两行的方式显示,这时,数据显示格式比较乱,数据的可读性也就比较差。,第19页,feedback,feedback命令通知SQL*Plus在查询结果集的末尾输出一行,以便指出查询中返回的数据行数量。feedback的设置会指出,为了让SQL*Plus输出消息,必须在查询结果中返回数据行的数量。 在默认情况下,feedback被设置为on,为了让它运行而必须返回的数据行的数量是6或更多。,第20页,numformat,当用户在数据库中查询数值数据时,SQL*Plus所使用的格式可能会出现问题。 例如,numformat的默认值为10,这表明SQL*Plus会试图将所有的数值数据都放到10个字符的输出中。如果用户知道正在处理的字符数量超过10个字符(例如,小数点右边有很多位的大数值),那么可以尝试将numformat设置为一个更大的值。,第21页,long,long的默认值为80。 如果用户要查询具有long列的表或视图,那么就只会显示这个特定列的前80个字符。 如果设置long为更大的值,那么就可以显示这个列中的更多数据。,第22页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第23页,5.3 使用SQL*Plus命令,除了上一节介绍的SQL*Plus格式化查询结果的命令之外,SQL*Plus还提供了许多可以定制该工具行为的工具。 这些工具包括describe、prompt、替换变量和show等。 下面介绍如何使用这些命令。,第24页,describe,在SQL*Plus的许多命令中,用户使用得最为频繁的命令可能是describe命令。describe命令可以返回数据库中所存储的对象的描述。对于表、视图等对象来说,describe命令可以列出其各个列的名称以及各个列的属性。除此之外,describe还会输出过程、函数以及程序包的规范。 describe命令的语法格式如下: describe schema.objectconnect_identifier 用户既可以使用describe命令,也可以使用缩略语desc。,第25页,prompt,prompt命令会在屏幕上输出一行数据。这种输出方式,非常有助于在存储的脚本文件中向用户传递相应的信息。 例如,程序员编写了一个查询表空间信息的语句,并且希望为用户提示一些描述信息,这时就可以使用prompt命令输出这些描述性信息。,第26页,替换变量,在SQL*Plus环境中,可以使用替换变量来临时存储有关的数据。 Oracle系统提供了以下3种类型的替换变量: ,第27页,&替换变量,在select语句中,如果在某个变量前面使用了&符号,那么表示该变量是一个替换变量。在执行select语句的过程中,系统会提示用户为该变量提供一个具体的数据。 在如图5-20所示的实例中,where子句中有一个变量&amount。该变量的前面使用了&符号,因此它是一个替换变量。当执行该select语句时,SQL*Plus提示用户为该变量输入一个具体的数据。这里输入的薪金是1580。最后,执行select语句。,第28页,&替换变量,在select语句中,如果需要重新使用某个变量并且不希望重新提示输入该值,那么可以使用&替换变量。 为了避免为同一个变量提供两个不同的值,且使得系统为同一个变量值提示一次信息,那么可以使用&符号。,第29页,define命令,想要在SQL语句中定义变量,可以使用define和accept命令。 define命令用于创建一个数据类型为char的用户自定义变量。 相反地,使用undefine命令可以清除所定义的变量。 define命令的语法格式如表5-5所示,第30页,accept命令,使用accept命令可以定制一个用户提示,用于提示用户输入指定的数据。在定义变量时,可以明确指定该变量是number数据类型还是date数据类型。 为安全起见,还可以把用户的输入隐藏起来。,第31页,show,使用show命令可以搜索更多的信息。 这些信息包括 SQL*Plus的环境设置 PL/SQL代码 init.ora参数,第32页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第33页,5.4 使用SQL*Plus缓冲区,SQL*Plus会在缓冲区或存储内存区域中用户最近运行的命令。通过在缓冲区中存储这些命令,使用户就能够重新调用、编辑以及运行那些最近输入的SQL语句。 可以使用两种方法修改缓冲区中存储的命令: 用户可以将缓冲区中的内容传递给Notepad(Windows系统)编辑器 也可以使用SQL*Plus的默认编辑器 最经常的是使用由SQL*Plus提供的编辑命令,第34页,SQL*Plus提供的编辑命令,第35页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第36页,5.5 内置的SQL*Plus Help命令,通过使用help index命令,可以查看SQL*Plus提供的一些命令清单。 如果希望查看某一个命令的详细使用方法,例如column命令,那么执行help column命令即可。SQL*Plus帮助系统可以向用户提供的信息包括命令的标题、命令的文本、命令的缩写形式、命令中使用的强制参数和可选参数等。,第37页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第38页,5.6 脚本,用户没有必要在每次使用时都编写常用的SQL语句和PL/SQL程序块,而是可以将它们保存在被称为脚本的文件中。这些脚本文件为那些反复执行的各种任务而设计。 在SQL*Plus工具中,可以使用start和命令来调用脚本文件,并且可以在命令行中传递脚本需要使用的任何参数。 当调用脚本时,如果该脚本文件不在用户的当前工作目录中,用户必须使用指定的目录名称。,第39页,教学过程,5.1 启动和设置SQL*Plus 5.2 格式化查询结果 5.3 使用SQL*Plus命令 5.4 使用SQL*Plus缓冲区 5.5 内置的SQL*Plus Help命令 5.6 脚本 5.7 SQL*Plus增强的功能,第40页,5.7 SQL*Plus增强的功能,在Oracle Database 10g系统中,SQL*Plus不仅没有被抛弃,而且得到了许多增强。 这些增强的功能如下: spool命令得到了增强; 新增了3个define变量; describe命令得到了增强; SQL*Plus的配置文件新增了一些变化; 可以对SQL提示符进行变量替换; 新增了兼容性命令; 支持在文件名和路径中使用空格。,第41页,增强的spool命令,SQL*Plus中的spool命令得到了增强,用户可以使用spool append命令把假脱机内容附加在一个已经存到的假脱机文件中。 在如图5-32所示的实例中,首先使用spool命令生成outputFile.txt文件,然后检索emp表的内容,接着关闭假脱机。然后,使用带有append参数的spool命令重新打开outputFile.txt文件,把select语句的结果附加到outputFile.txt文件中。,第42页,新增的define变量,在Oracle Database 10g系统中,SQL*Plus新增了3个define变量,即_date、_privilege和_user变量。 _date变量是一个动态变量,可以提供基于当前nls_date_format设置的日期。 _privilege变量包含
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中考语文一轮复习:统编教材文言文背诵27篇 常考必背知识点汇编
- 医学生基础医学 骨质疏松护理课件
- Unit 3 Weather(单元测试提升卷)-2025人教精通版四年级英语上册
- Unit 2 重点词汇、词性转换、词义辨析及重难点句型梳理-人教版八年级英语上册
- 医学脑机接口诊疗环境场景切换案例教学课件
- 2026年深圳中考数学专项复习 解答中档题型:圆的计算与证明(原卷+解析版)
- 2026年人教版九年级数学上册复习:垂径定理的四类综合题型(压轴题专项训练)原卷版+解析
- TXJBX0097-2025农产品质量安全区块链追溯技术规范
- 第三方支付发展对我国商业银行业务的挑战分析-以支付宝对例
- 《JBT 6367-1992 保护拖链 型式尺寸》(2026年)实施指南
- 2025年洛阳市城乡一体化示范区招聘城市管理辅助人员130名笔试考试参考试题及答案解析
- 经皮冠状动脉介入治疗术后口服抗栓策略优化专家共识2026
- 2025年垫江县辅警协警招聘考试真题及参考答案详解1套
- 掘进队长考试题库及答案
- (2025)全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案
- 培训机构学管师培训
- 功能性训练培训
- 2024年宜昌市西陵区人民医院医疗卫生专业技术人员招聘考试真题
- 买卖当归合同协议书
- 产品研发协议书范本
- 2025年中国铁路青藏集团有限公司招聘全日制普通高校大专(高职)毕业生笔试题库(二)附答案解析
评论
0/150
提交评论