友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第107章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






                                 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           输入一个值        当然  你也可以建立一个新文 



件并在其中输入你的语句 



输入 



    SQL》 input 



      1  accept newtitle prompt 'Enter Title for Report: ' 



        2    ttitle  center  newtitle 



        3    select  * 



        4    from  products 



        5 



    SQL》 save prod 



输出 



    File 〃prod。sql〃 already exists。 



    Use another name or 〃SAVE filename REPLACE〃。 



分析 



    咦  这个文件怎么已经存在了              这就是说你已经有一个叫 PROD。SQL              的文件了  如果 



你不想保留它         你可以使用覆盖选项来保存缓冲区中的内容                        注意在上一个语句中的 



                                                                             457 


…………………………………………………………Page 458……………………………………………………………

SQL 21  日自学通(V1。0)                                                           翻译人    笨猪 



PROMPT     它将会向用户显示文本信息以准确地告诉用户应该输入什么 



输入 



     SQL》 save prod replace 



输出 



    Wrote file prod 



     现在你可以使用 START 命令来运行这个文件了 



输入 



     SQL》 start prod 



    Enter Title for Report: A LIST OF PRODUCTS 



输出 



                                                        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 



    7 rows selected。 



分析 



     你输入的文字成了当前报表的题头 



     下边的例子向你显示了你如果替换在语句中的任何变量的值 



输入 



     SQL》 input 



      1  accept prod_id prompt 'Enter PRODUCT ID to Search for: ' 



        2    select  * 



        3    from  products 



        4    where  product_id  =  '&prod_id' 



        5 



     SQL》 save prod1 



                                                                                     458 


…………………………………………………………Page 459……………………………………………………………

SQL 21  日自学通(V1。0)                                              翻译人    笨猪 



输出 



    Created file prod1 



输入 



    SQL》 start prod1 



    Enter PRODUCT ID to Search for: P01 



输出 



    old      3: where product_id = '&prod_id' 



    new      3:  where  product_id  =  'P01' 



                                              A  LIST  OF  PRODUCTS 



    PRO PRODUCT_NAME           UNIT_COST 



    P01 MICKEY MOUSE LAMP      29。95 



分析 



    你可以在许多的需要中见到变量的使用                 例如    为你想要重新定向输出的文件命名或 



为 ORDER BY 子句指定一个表达式           其中的方法之一是使用变量替换              一种使用变量替换 



的情况是在事务处理诊断报告中在 WHERE               子句中输入日期        如果你的查询设计成要求在 



特定的时间内得到信息的话            你也许需要设置一个替换变量来与表中的 SSN 列进行比较 



NEW_VALUE 



    NEW_VALUE   命令可以将 SELECT      语句中的数值返回给一个没有经你明确定义的变 



量   语法格式如下 



语法 



    COL'UMN' column_name NEW_VALUE new_name 



    你可以使用&符号来调用这个值  例如 



    &new_name 



    在 NEW_VALUE 命令中必须使用 COLUMN 命令 



    注意&符号与 COLUMN  在下边的 SQL*PLUS          文件中是一起使用的  在这个文件中出 



现了 GET 命令 



输入 



    SQL》 get prod1 



                                                                       459 


…………………………………………………………Page 460……………………………………………………………

SQL 21  日自学通(V1。0)                                                   翻译人    笨猪 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!