ch9_服务器环境下的SQL.pptx

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章讨论的问题(1);本章讨论的问题(2);SQL的三种编程方式;主要内容;包含SQL语句的典型编程系统;DBMS销售商提供了必要的函数库,这样实现SQL的函数被执行,并且整个程序像一个整体一样运作。 还有另一种方式:程序员用宿主语言编写程序,在涉及到数据库访问时直接使用这些函数调用。这就是SQL编程的第3种方式“调用级界面/CLI”;SQL与宿主语言之间的阻抗不匹配问题;SQL/宿主语言接口;共享变量的声明;示例9.3;使用共享变量;特殊变量SQLSTATE;SQLSTATE变量的值;关键字EXEC SQL;SQL语句的嵌入;查询嵌入宿主语言的机制;(1) 单元组选择语句;单元组选择示例;(2) 游标;(2) 游标(续1);(2) 游标(续2);游标示例;游标更新;P267例7.5 更新行政长官的资产值,若净资产值少于1000则删除该元组,否则将其净资产值加倍。 MovieExecs (name, address, cert#, netWorth);防止并发更新;将游标声明为READ ONLY;卷型游标SCROLL;FETCH选项;卷型游标示例;动态SQL;如果在预编译时下列信息不能确认,就必须使用动态SQL技术: 1)SQL语句正文 2)主变量个数 3)主变量的数据类型 4)SQL语句中引用的数据对象(例如,列、基本表、视图等) 动态SQL方法允许在程序运行过程中临时“组装”SQL语句,主要有三种形式: 1)语句可变:允许用户在程序运行时临时输入完整的SQL语句。 2)条件可变:对于查询语句,SELECT子句是确认的,即语句的输出是确定的,其他子句(如Where子句、Having短语)有一定的可变性。 3)数据库对象,查询条件均可变:对于查询语句,Select子句的列名、From子句中的表名或视图名、Where子句和Having短语中的条件均可由用户临时构造,即语句的输入和输出可能都是不确定的。;与之相关的动态定义语句简要介绍如下: PREPARE语句:将一字符串解释成一组SQL语句,并赋给它一个语句标识符,以后的动态管理语句通过语句标识来引用这组SQL语句。PREPARE语句的一般形式为: PREPARE 语句标识名 from “SQL语句” 或 PREPARE 语句标识名 from :宿主变量; EXECUTE语句:运行与其语句标识符对应的事先准备好的语句,对非select语句,用EXECUTE来运行。 EXECUTE语句的一般形式为: EXECUTE 被预备的语句标识名[using宿主变量列] 3. EXECUTE IMMEDIATE语句:立即执行语句,它接收一字符串,将其解释成SQL语句并立即执行它,然后释放准备SQL语句所占用的资源。;4. DECLARE语句:为已准备好的select语句说明游标。 5. FREE语句:释放已准备好的语句或已打开的游标所占用的资源 6. DESCRIBE语句:确定已准备好的语句是否为select语句,如果是,则得到单一查找行的存储要求,否则只返回语句类型。;动态SQL的特性为:语句的说明与执行分为两步。 第一步,PREPARE语句用于分析SQL语句,并且在必要时建立一个程序计划; 第二步,用EXECUTE或定义游标来执行被预备好的SQL语句。这样一旦一条SQL语句经过预备处理后,就可重复执行它多次。加入仅执行一次的SQL语句那就不必做预备处理。;动态SQL执行的两个步骤;上述两个步骤也可以合二为一 EXEC SQL EXECUTE IMMEDIATE 表达式 如果一条语句被编译一次,然后执行很多次时,就会看到合并这两步是不利的。 使用EXECUTE IMMEDIATE ,每次语句执行时都要付出准备该语句的代价,而不是只付出一次。;动态SQL示例;本节习题 机械三 P233 清华版 P271 9.3.1 (a) (d) 7.1.1 (a) (d) (f) (f) 使所有“旧”PC的价格调低$100。要确保在你的程序运行期间插入的任何“新”PC的价格不会调低。 7.1.3 请使用滚动游标找出如下关系中满足条件的所有PC。PC (model, speed, ram, hd, cd, price) 条件是:至少有两种速度相同而价格更贵的PC。提示:读取先按速度再按价格排序的PC的元组,对于每个读出的元组,往前跳两个元组看看速度是否没变。;主要内容;持久性存储

文档评论(0)

文单招、专升本试卷定制 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档