SQL 21日自学通(V3.0)(PDF格式)-第84部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
想更改 你可以输入
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