友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
SQL 21日自学通(V3.0)(PDF格式)-第56部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
以后 你将进入一个全屏幕的编辑环境 它与 WINDOWS 的记事本非常相似 你会发现你
它来修改文件要比对缓冲区进行编辑容易得多 特别是当你在处理又大又复杂的语句时
下图给出了 EDIT 命令的例子
输入
SQL》 edit query1。sql
运行一个文件
现在你已经知道了如何创建和编辑一个文件 如果你想执行它是非常简单的 你可以
使用下边的格式
语法
START filename 或 STA filename 或@filename
技巧 命令对大小写是不敏感的
输入
SQL》 start query1。sql
输出
PRO PRODUCT_NAME UNIT_COST
P02 NO 2 PENCILS 20 PACK 1。99
441
…………………………………………………………Page 442……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
注 在 SQL*PLUS 中你想启动一个文件时不必一定要输入它的扩展名 数据库默认你要执
行的文件是有扩展名的 与此类似 当你在 SQL 提示符下创建编辑一个文件如 SAVE
GET EDIT 你也不必指定文件的扩展名
输入
SQL》 @query1
输出
PRO PRODUCT_NAME UNIT_COST
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
输入
SQL》 run query1
输出
1 select *
2 from products
3* where unit_cost 《 25
PRO PRODUCT_NAME UNIT_COST
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
注意 当你使用 RUN 来运行查询时 语句是会回显到屏幕上的
查询的假脱机输出
从屏幕上查询输出的结果是非常方便的 但是如果你想把结果保存下来以供将来参考
或是想把它打印出来的话 SPOOL 命令可以让你把输出保存到一个指定的文件中 如果这
442
…………………………………………………………Page 443……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
个文件不存在 它将会被创建 如果它存在 它将会被覆盖 见下图
输入
SQL》 spool prod。lst
SQL》 select *
2 from products;
输出
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
输入
SQL》 spool off
SQL》 edit prod。lst
在下图中的输出是一个 SQL*PLUS 文件 你必须使用 SPOOL OFF 才能停止向一个文
件中的重定向输出 当你退出 SQL*PLUS 时 SPOOL OFF 会自动执行 但是如果你没有
退出 SQL*PLUS 那么重定向将一直持续到你使用 SPOOL OFF 时为止
443
…………………………………………………………Page 444……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
SET 命令
在 ORACLE 的 SQL*PLUS 中 SET 命令可以改变对会话的设置 通过使用这些命令
你可以定制你的工作环境并使它的输出更符合你的要求 你可以通过 SET 命令来把相应的
选项打开和关闭
为了演示 SET 命令是如何工作的 可以简单地执行一下 SELECT 命令
输入
SQL》 select *
2 from products;
输出
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
7 rows selected。
分析
输出的最后一行为
7 rows selected。
它被称为 FEEDBACK 它可以通过 SQL 的设置来更改 默认的设置为 ON 如果你
想更改 你可以输入
SET FEEDBACK ON
当运行 SELECT 语句时 假如你不想看到回显 如下例
输入
SQL》 set feedback off
SQL》 select *
2 from products;
输出
444
…………………………………………………………Page 445……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
分析
在输出中这一列已经被去除了 只有事实上的数据被显示
你可以有大量的设置来控制你的输出的显示方式 其中一个选项为 LINESIZE 可以让
你指定每一行的输出长度 如果行长小的时候你的输出换行可能性就大 如果行长超过了
默认的 80 以后增加行长可能是必要的 如果你使用的是宽行打印纸 通过增加行的宽度可
以让你的打印输出更加漂亮 下边的例子显示了 LINESIZE 的用法
输入
SQL》 set linesize 40
SQL》 /
输出
P01 MICKEY MOUSE LAMP
29。95
P02 NO 2 PENCILS 20 PACK
1。99
P03 COFFEE MUG
6。95
P04 FAR SIDE CALENDAR
10。5
P05 NATURE CALENDAR
12。99
P06 SQL MAND REFERENCE
29。99
P07 BLACK LEATHER BRIEFCASE
445
…………………………………………………………Page 446……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
99。99
分析
你也可以通过设置 PAPERSIZE 的大小来调节每一页的尺寸 如果你只是想在屏幕上
看到输出的结果 那么最好将 PAPERSIZE 设置为 23 这样在显示多页的时候不会有分页
情况 在下边的例子中 PAGESIZE 设置的比较小 你可以清楚地看到它的分页情况
输入
SQL》 set linesize 80
SQL》 set heading on
SQL》 set pagesize 7
SQL》 /
输出
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
PRO PRODUCT_NAME UNIT_COST
P05 NATURE CALENDAR 12。99
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
分析
通过将 PAGESIZE 设置为 7 现在在每一页上显示的最大行数为 7 在每一页都会自
动地打印出新的列标头
TIME 则会把时间作为 SQL 提示符的一部分显示
输入
SQL》 set time on
输出
08:52:02 SQL》
这些只是 SET 选项中很少的一部分 但的所有的操作基本上是相同的 你已经在 SHOW
ALL 中看到的巨大的 SET 选项的列表 要定制 SQL 会话你有相当多的选项 你最好把它
446
…………………………………………………………Page 447……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
们中的每一个都试一下 对于许多选项你也许会使用它们的默认设置 但是你也会基于自
己的要求而经常地改变其中的某些选项
LOGIN。SQL 文件
在你退出 SQL*PLUS 时 你所有的会话设置都会被清除 而你在重新登录时 如果你
不使用 LOGIN。SQL 文件你就不得不对它进行重新的初始化工作 这个文件会在你登录到
SQL*PLUS 时自动运行 它与计算机中的 AUTOEXEC。BAT 文件或 UNIX KORN SHELL 下
的。PROFILE 类似
在 PERSONAL ORACLE 7 中你可以使用EDIT 命令来创建你自己的 LOGIN。SQL 文件
见下图
当你在登录到 SQL*PLUS 以后 你将会看到
SQL*Plus: Release 3。3。2。0。2 Production on Sun May 11 20:37:58 1997
Copyright (c) Oracle Corporation 1979; 1994。 All rights reserved。
Enter password: ****
Connected to:
Personal Oracle7 Release 7。3。2。2。0 Production Release
With the distributed and replication options
PL/SQL Release 2。3。2。0。0 Production
447
…………………………………………………………Page 448……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
'HELLO!
………………
HELLO !
20:38:02 SQL》
CLEAR 命令
在 SQL*PLUS 中 设置是在 LONGOUT 或退出 SQL*PLUS 后自动清除的 而其中的
一些设置你也可以用 CLEAR 命令来清除 如下例所示
输入
SQL》 clear col
输出
columns cleared
输入
SQL》 clear break
输出
breaks cleared
输入
SQL》 clear pute
输出
putes cleared
将你的输出格式化
SQL*PLUS 中也有许多的命令可以让你将你的输出格式化 这一部分包括了报表头
列标头及格式的基本的格式化命令
TTITLE 与 BTITLE
TTITLE 与 BTITLE 可以让你创建报表的报头 在前些天我们提到过查询和输出 但
是使用 SQL*PLUS 你也可以将结果输出到预设的报表中 TTITLE 命令可以让你在每一页
448
…………………………………………………………Page 449……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
输出的顶部放置页眉 BTITLE 则可以在每一页的底部设置页脚 对于这些命令有许多的
选项可以使用 但是今天我们只讲一些基本的 TTITLE 与 BTITLE 的语法格式如下
语法
TTITLE 'center|left|right' 'text' '&variable' 'skip n'
BTITLE 'center|left|right' 'text' '&variable' 'skip n'
输入
SQL》 ttitle 'A LIST OF PRODUCTS'
SQL》 btitle 'THAT IS ALL'
SQL》 set pagesize 15
SQL》 /
输出
Wed May 07
page 1
A LIST OF PRODUCTS
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P02 NO 2 PENCILS 20 PACK 1。99
P03 COFFEE MUG 6。95
P04 FAR SIDE CALENDAR 10。5
P05 NATURE CALENDAR 12。99
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
THAT IS ALL
7 rows selected。
分析
标题会显示在每一页的顶部和底部 许多人会使用页脚来标记报表数据的改变 使用
页眉来标记报表的日期和页数
格式化列 COLUMN HEADING FORMAT
格式化的列是从 SELECT 语句中返回的列 命令 column heading format 可以对从报
表中返回的数据的列标头进行重命名并控制数据显示的方式
449
…………………………………………………………Page 450……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
在 HEADING 与 FORMAT 命令中常使用 COL'NUM' COLUMN 用于定义你想格式化
的列 你所定义的列必须在 SELECT 语句中要出现 在这个命令中你也可以列的别名来代
替它的全名
当使用 HEADING 命令时 你必须使用 COLUMN 命令来定义要列在 HEADING 中的
布置
当使用 FORMAT 命令时 你也必须使用 COLUMN 命令来定义你想要格式化的列
使用这三个列的基本语法见下 注意 HEADING 与 FORMAT 命令是可选的 在 FORMAT
的语法中 如果数据使用的字符类型或 0 到 9 的数字时你必须要使用一个 a DECIMAL 也
可以会用于数字的值上 在 a 的右边是你所允许的数字的宽度
语法
COL'UMN' column_name HEA'DING' 〃new_heading〃 FOR'MAT' 'a1|99。99'
下边的 SELECTY 语句显示了列的格式 所指定的列是数值类型的 你想显示的数据
格式为十进制带美元符号的
输入
SQL》 column unit_cost heading 〃PRICE〃 format 99。99
SQL》 select product_name; unit_cost from products
输出
PRODUCT_NAME PRICE
MICKEY MOUSE LAMP 29。95
NO 2 PENCILS 20 PACK 1。99
COFFEE MUG 6。95
FAR SIDE CALENDAR 10。50
NATURE CALENDAR 12。99
SQL MAND REFERENCE 29。99
BLACK LEATHER BRIEFCASE 99。99
分析
因为我们使用了格式 99。99 所以允许显示的最大数字为 99。99
现在试着简化一下这个命令 这可以让你的 HEADING 命令显得整洁
输入
SQL》 col unit_cost hea 〃UNIT|COST〃 for 09。99
SQL》 select product_name; unit_cost from products;
450
…………………………………………………………Page 451……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
输出
PRODUCT_NAME UNITCOST
MICKEY MOUSE LAMP 29。95
NO 2 PENCILS 20 PACK 01。99
COFFEE MUG 06。95
FAR SIDE CALENDAR 10。50
NATURE CALENDAR 12。99
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!