问 静态的 SQL 比动态的 SQL 灵活性差 尽管它的性能要比动态的好 对不对
练习
1 如果你没有使用 SYBASE 或 MICROSOFT 的 SQL SERVER 那么请你比较一个你的产
品对 SQL 的扩展与今天所讲的有何不同
2 写一组 SQL 语句 它可以对一些已知的条件进行检测 如果条件为真 执行一些操作
否则的话执行另一些操作
431
…………………………………………………………Page 432……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
第 20 天 SQL*PLUS
目标
今天你将会学习 SQL*PLUS 这种 SQL 是针对 ORACLE 的 RDBMS 的 在今天的结
束 你将会明白 SQL*PLUS 的下述内容
l 如何使用 SQL*PLUS 的缓存
l 如何格式化报表
l 如何操作日期
l 如何创建交互式查询
l 如何构建高级报表
l 如何使用强大的 DECODE 函数
简介
我们介绍 SQL*PLUS 的原因是由于 ORACLE 数据库在关系数据库市场中所处的优势
地位以及 SQL*PLUS 为用户提供的强大功能及灵活性 SQL*PLUS 在许多方面与
TRANSACT…SQL 类似 见第 19 天 TRANSACT…SQL 简介 它们都实现了 ANSI 标准
的 SQL 它仍是所有 SQL 解释器的骨架 的大部能力
SQL*PLUS 命令可以增强 SQL 会话能力并对从数据库返回的查询的结果进行格式上的
增强 它也可以像一个专业化的报表生成器对报表进行格式化 SQL*PLUS 对 ANSI 标准
的 SQL 和 PL/SQL 进行了补充以帮助关系型数据库程序员们取得满意的数据格式
SQL*PLUS 缓存
SQL*PLUS 缓存是为你特定的 SQL 会话所指定的命令存储区域 这些命令包括大多数
最近执行过的命令以及你用于定制 SQL 会话的如格式化命令和变量赋值之类的命令 缓存
就像随机存储器一样 这里给出了一些对缓存的最常用的命令
l LIST line_number — — 可以列出缓存中的命令并可以通过行号将它指定为当前行
432
…………………………………………………………Page 433……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
l CHANGE/old_value/new_value — — 将缓存当前行的旧数值改为新数值
l APPEND text — — 向缓存所在的当前行中追加文本
l DEL — — 将缓存中的当前行删除
l SAVE newfile — — 将缓存中的 SQL 语句保存到文件中
l GET filename — — 将某文件中的内容送到缓存中
l / — — 运行缓存中的语句
让我们用一个简单的 SQL 语句来开始
输入
SQL》 select * from products where unit_cost 》 25;
输出
PRO PRODUCT_NAME UNIT_COST
P01 MICKEY MOUSE LAMP 29。95
P06 SQL MAND REFERENCE 29。99
P07 BLACK LEATHER BRIEFCASE 99。99
LIST 命令可以列出在缓存中最近执行过的命令 输出是非常简单的
SQL》 list
1 select *
2 from products
3* where unit_cost 》 25
分析
注意 在每一行的前边都有一个数字 这个数字对于缓存来说非常重要 它就像一个
指针一样可以让你通过 SQL*PLUS 来对指定行进行修改 SQL*Plus buffer 不是全屏幕编辑
的 当你按下回车后 你不能使用游标来回到上一行 如下例所示
输入
SQL》 select *
2 from products
3 where unit_cost 》 25
4 /
注 与 SQL 命令一样 你在 SQL*PLUS 中既可以用大写字符也可以用小写字符
433
…………………………………………………………Page 434……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
技巧 SQL*PLUS 中的大部分命令都可以缩写 例如 LIST 可以缩写为 L
你可以在 L 后边加上一个数字来跳转到缓存中的指定行
输入
SQL》 l3
3* where unit_cost 》 25
分析
注意 3 后边有一个星号 星号表明了当前的行号 在今天的例子中你应该注意星号
如果一行被标为*号 那么你就可以对它进行编辑
由于你知道了当前的行是第 3 行 你可以对它进行随意的改变 CHANGE 的语法格式
如下
语法
CHANGE/old_value/new_value 或 C/old_value/new_value
输入
SQL》 c/》/《
输出
3* where unit_cost 《 25
输入 :
SQL》 l
输出
1 select *
2 from products
3* where unit_cost 《 25
分析
在第 3 行中的小于号已经被改成大于号了 注意在改变以后的新行会被显示 如果你
使用 LIST 命令或 L 你就可以看到完整的语句 现在我们来运行一下语句
输入
SQL》 /
输出
PRO PRODUCT_NAME UNIT_COST
434
…………………………………………………………Page 435……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
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》后边的正斜线的意思就是运行处于缓冲区中的任何语句
输入
SQL》L
输出
1 select *
2 from products
3* where unit_cost 《 25
现在 你可以通常在 SQL》后边输入行号和相应的文字来增加对应行中的内容 当你
增加完以后 你就得到了一个完整的语句组 如下例
输入
SQL》 4 order by unit_cost
SQL》 1
输出
1 select *
2 from products
3 where unit_cost 《 25
4* order by unit_cost
分析
如果想删除一行比增加一行还容易 例如你输入 del4 就删除了缓冲区中的第 4 行 现
在我们再看一下语句清单
小说推荐
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 最新章:第309章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- 电子电路大全(PDF格式)
- -Page 1-电力生产人员技能培训电路基础部分电路基础部分电电路路基基础础部部分分-Page 2-一、电路的基本概念和基本定律-Page 3-考试点1o 1、掌握电阻、独立电压源、独立电流源、11受控源、电容、电感、耦合电感、理想变压器诸元件的定义、性质2o 2、掌握电流、电压参考方向的概念223
- 最新章:第353章