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

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

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






条件 和指针的内容的变化而变化 PL/SQL 使用标准的过程语言来对语句进行控制 IF 



THEN 和 LOOP 可以让你按指定的条件搜索  你也可以使用 LOOP  来对指定的指针的内容 



进行翻阅 



   在任何程序中都会有各种错误产生            PL/SQL 通过异常可以让你对产生错误后的行为 



进行控制    许多异常是预定义过的        如被零除错误      异常可以在程序运行时根据指定的条 



件激活并按程序员所定义的方式进行处理 



   在今天也介绍一些对 PL/SQL      的实际应用  数据库对象如触发机制  存储过程             包可 



以自动完成许多功能  在今天的例子中我们也应用了一些在前一天中所提到的概念 



                                                              408 


…………………………………………………………Page 409……………………………………………………………

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



问与答 



   问  在第 18 天中我是否已经学习了我需要对 PL/SQL 所掌握的所有内容 



   答  当然不是  像今天的介绍只是提及到了一些表层的一些与 SQL 相关的东西               我们 



       只是提及了一些 SQL 的非常明显的特性使你对 PL/SQL 有一个基本的了解 



   问  我不用 PL/SQL 行不行 



   答  当然   你不使用它也是可以的  但是如果你不使用它你会为达到相同的目的而不 



      得不在第三代编程语言中使用更多的时间和代码             如果你没有使用 ORACLE    那 



       么请检查你的解释器以找到与 PL/SQL 类似的过程方法 



校练场 



   1  如何在数据库中使用触发机制 



   2  是否可以将相关的过程存储在一起 



   3  可以在 PL/SQL  中使用数据操作语言  对不对 



   4  可以在 PL/SQL  中使用数据定义语言  对不对 



   5  在 PL/SQL  的语法中是否支持直接的文本输出 



   6  给出 PL/SQL 语句块的三个主要部分 



   7  请给出与指针控制相关的命令 



练习 



   1  请定义一个变量    使它可以接受的最大数值为 99。99 



   2  请定义一个指针      它的内容包括 CUSTOMER_TABLE  表中的所有 CITY      为 



     INDIANAPOLIS  的客户 



   3  定义一个名字为 UnknownCode  的异常 



   4  请写一个语句    使得在 AMOUNT_TABLE 中的AMT  当 CODE 为 A 时其值为 10 



     当 CODE  为 B  时其值为 20 当 CODE 既不是 A  也不是 B  时激活一个名字叫 



     UnknownCode  的异常  表中的内容只有一行 



                                                         409 


…………………………………………………………Page 410……………………………………………………………

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



第 19 天     TRANSACT…SQL 简介 



目标 



   与 TRANSACT…SQL  是对标准 SQL  的补充一样  今天的内容是对前几天内容的补充 



今天的目标是 



   l  知道一种对 SQL 的流行的扩展 



   l  知道 TRANSACT…SQL 的主要特性 



   l  给出一些特殊的例子让你知道如何去使用 TRANSACT…SQL 



TRANSACT…SQL  概貌 



   在第 13 天的  高级 SQL 中我们简要地提到过静态 SQL      在第 13 天的例子中我们也 



描述了如何在第三代编程语言如 C       中写内嵌的 SQL  语句的方法    由于采用这种方法时嵌 



入的 SQL  语句是无法改变的所以它的灵活性就受到了限制          而如果我们采用动态的 SQL 



语言编程来完成相同的工作时       就允许 SQL 代码的条件在运行时改变 



   在本书中我们其实已经讨论过了相关的每一个主题            几乎每一个数据库供应商都在它 



的语言进行了相应的扩展  TRANSACT…SQL 是 SYBASE 和 MICROSOFT SQL SERVER  的 



产品  而 ORACLE  的产品是 PL/SQL 这里的每一种语言可以完成全部的到目前为止我们 



所讨论的每一件事     此外  每一种产品都对标准的 SQL 进行了相应的扩展 



对 ANSI SQL  的扩展 



   为了演示使用这些扩展来创建实际的程序  我们使用了 SYBASE 和 MICROSOFT  SQL 



SERVER  的 TRANSACT…SQL 它具有大多数的在第三代编程语言中具有的结构         对于针 



对 SQL…SERVER  的特性它也提供了许多便利的工具用以进行数据库编程  在其它的数据库 



供应商中也提供了与之类似和更多的特性 



                                                       410 


…………………………………………………………Page 411……………………………………………………………

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



谁需要使用 TRANSACT…SQL 



   任何一个读过本书的人都会使用 TRANSACT…SQL       如果是一个程序员它偶尔会用它 



来写一个查询    如果是开发员则可以用它写应用程序以创建对象如触发机制和存贮过程等 



注  SYBASE 和 MICROSOFT SQL SERVER  的用户如果想开发实际上的关系数据库应用程 



   序就必须使用 TRANSACZT…SQL 的特性 



TRANSACT…SQL  的基本组件 



   对 SQL  的扩展已经超过了 SQL 作为一种过程型语言的限制  例如  TRANSACT…SQL 



可以让你对数据库的事务进行紧密的控制并且可以写出数据库过程程序以把编程人员从冗 



重的代码中解放出来 



      l  在第 19 天我们主要会提到 TRANSACT…SQL 的以下主要特性 



      l  提供了更大范围的数据类型以优化数据的存贮 



      l  程序流控制命令如 IF…THEN 和 LOOP 语句 



      l  在 SQL 语句中使用变量 



      l  使用 PUTATION 生成摘要报告 



      l  对 SQL 语句的诊断和分析特性 



      l  对标准的 SQL 语句提供了许多其它的选项 



数据类型 



   在第 9  天的  创建和操作表   中我们讨论过数据类型  当使用 SQL 创建表时        我们必 



须为每一列指定数据类型 



注  在不同的 SQL 解释器中数据的类型是不同的        因为每一种数据库服务存储数据的方法 



   都是各不相同的     举例来说    ORACLE 有它自己选定的数据类型       而 SYBASE  和 



  MICROSOFT SQL SERVER 则有他们自己的数据类型 



SYBASE 和 MICROSOFT SQL SERVER 支持下列数据类型 



                                                       411 


…………………………………………………………Page 412……………………………………………………………

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



字符串 



    char 用以存储长度固定的字符串 例如 STATE 的缩写— — 你知道这一列只有两个字符 



   Varchar 用以存储长度可变的字符串          如人名  它是无法对其长度进行预先指定的              例 



如  AL RAY 与 WILLIAM STEPHENSON 



    Text 存贮的字符长度几乎是不受限制的例如一种服务的备注和描述字段 



数字类型 



    int 存储的整型数值范围为…2;147;483;647 到+2;147;483;647 



    Smallint 存储的整型数值的范围为…32;768 到 32;767 



    Tinyint 存储的整型数值的范围为 0 到 255 



    Float 可以存储有精度要求的浮点数         数值范围为+2。23E…308 和+1。79E308 



    Real 可以存储的数据的精度为 1。18E…38 to +3。40E38 



日期类型 



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