按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
SQL*PLUS 文件如何去运行它
SAVE GET EDIT 命令
SAVE 命令可以将 SQL 缓冲区的内容保存到你所指定名字的文件中 例如
输入
SQL》 select *
2 from products
3 where unit_cost 《 25
SQL》 save query1。sql
输出
Created file query1。sql
分析
当文件被保存以后 你可以使用 GET 命令来查看文件 GET 命令与 LIST 命令非常相
似 但是 GET 是处理被保存到文件中的 SQL 语句的 而 LIST 则是处理处于缓冲区中的 SQL
语句的
输入
SQL》 get query1
输出
1 select *
2 from products
3* where unit_cost 《 25
440
…………………………………………………………Page 441……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
你可以使用 EDIT 命令来创建一个文件或编辑一个已经存在的文件 当运行这个命令
以后 你将进入一个全屏幕的编辑环境 它与 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…………………………………………