《SQL 21日自学通(V3.0)(PDF格式)》第142章


SQL》 break on report on customer skip 1 
SQL》 pute sum of unit_cost on customer 
SQL》 pute sum of unit_cost on report 
现在 我们来看一下在缓冲区中的上一个语句 
输入 
SQL》 l 
输出 
1 select o。customer; p。product_name; p。unit_cost 
2 from orders o; 
3 products p 
4 where o。product_id = p。product_id 
5* order by customer 
现在你可以验证情况是否如你所期望的那样 你可以运行它 
输入 
SQL》 / 
输出 
UNIT 
CUSTOMER PRODUCT_NAME 
COST 
JONESandSONS MICKEY MOUSE LAMP 029。95 
NO 2 PENCILS…20PACK 001。99 
454 
…………………………………………………………Page 455……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
COFFEEMUG 006。95 
sum 038。89 
PARAKEET CONSULTING GROUP MICKEY MOUSE LAMP 029。95 
NO 2 PENCILS…20PACK 001。99 
SQL MAND REFERENCE 029。99 
BLACK LEATHER BRIEFCASE 099。99 
FAR SIDE CALENDAR 010。50 
sum 172。42 
PLEWSKY MOBILE CARWASH MICKEYMOUSELAMP029。95 
BLACK LEATHER BRIEFCASE 099。99 
BLACK LEATHER BRIEFCASE 099。99 
NO 2 PENCILS…20PACK 001。99 
NO 2 PENCILS…20PACK 001。99 
UNIT 
CUSTOMER PRODUCT_NAME 
COST 
sum 233。91 
sum 445。22 
分析 
这个例子对每个客户的付款情况进行了计算总对所以客户的付款情况进行了汇总 
现在你应用明白的基本的列格式命令 数据分组命令和对每一组执行计算的内容了 
在 SQL*PLUS 中使用变量 
尽管没有进行事实上的程序设计语言中 但是你仍然可以在你的 SQL 语句中定义变 
量 在 SQL*PLUS 中你可以使用一些特定的选项 将在这一部分中讲述 来在你的程序中 
设定参数来接受用户的输入 
置换变量 & 
在 SQL 脚本中&表示变量的值 如果变量没有进行预定义 那么用户会收到输入数值 
的提示 
输入 
SQL》 select * from &TBL 
1 / 
Enter value for tbl: products 
用户输入数值〃products。〃 
455 
…………………………………………………………Page 456……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
输出 
old 2: from &TBL 
new 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 
分析 
在这个交互式查询中 PRODUCT 替换了原来的&TBL 
DEFINE 
在 SQL 的脚本中你可以使用 DEFINE 来对一个变量赋值 如果在你的 SQL 脚本中定 
义了变量 那么在运行时用户不会像你使用&时那样被提示输入数值 在下一个例子中使 
用与上一个例子相同的 SELECT 语句 但是这次 TBL 的值是在脚本中定义的 
输入 
SQL》 define TBL=products 
SQL》 select * from &TBL; 
输出 
old 2: from &TBL 
new 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 
456 
…………………………………………………………Page 457……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
分析 
这两个查询的结果是相同的 下边的部分将向您介绍对于脚本参数的另外一种向用户 
提示的办法 
ACCEPT 
ACCEPT 可以在运行时允许用户向变量中输入数值 它所作的工作与没有 DEFINE 的 
&相同 但它的可控性更好 它可以给用户一个更好友好的提示 
下边的例子将从清除缓冲区开始 
输入 
SQL》 clear buffer 
输出 
buffer cleared 
然后我们使用 INPUT 命令来向缓冲区中输入 SQL 语句 如果你输入语句时没有从 
INPUT 开始 你开始会被提示为 NEWTITLE 输入一个值 当然 你也可以建立一
小说推荐
返回首页返回目录