数据库系统概论第8章数据库编程2003.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.2.3 存储过程的执行 存储过程的执行 Exec[ute] class_studied_nopar Exec class_studied_par Declare @avg_score1 decimal Exec studentaveragescore ‘2011001’ , @avg_score1 output Select @avg_score1 8.2.4 过程化语句块的基本结构(1) 变量的定义 Declare @变量名 数据类型 设置初值 Set @变量名=初值 8.2.4 过程化语句块的基本结构(2) 控制结构 条件控制 If …else… 循环控制 While … Break continue 8.2.4 过程化语句块的基本结构(3) 错误处理 BEGIN TRY [SQL代码写在这里] END TRY BEGIN CATCH [异常处理代码写在这里] END CATCH 8.2.4 过程化语句块的基本结构(4) 例:建立sale_statics表用于记录每个员工的目前为止销售总业绩。该表由emp_no,money_saled和grade三列,设置合理地属性数据类型。建立存储过程,使用游标,更新该员工的销售总业绩。 第8章 数据库编程 内容 8.1嵌入式SQL 8.2存储过程 8.1嵌入式SQL(1) 将SQL语言嵌入到某种高级语言中,混合编程使用。嵌入SQL的高级语言称为宿主语言或主语言。 对于宿主语言的嵌入式SQL,DBMS有两种处理方法处理方法: 预编译(主要方法) 修改和扩充主语言 8.1嵌入式SQL (2) 在主语言中使用嵌入式SQL时,区分计语句与SQL语句的标志一般随主语言的不同而不同。有的在嵌入的sql语句前加前缀,如C语言的EXEC sql;有的把SQL扩从为主语言的一部分,如powerbuilder语言 8.1嵌入式SQL (3) 嵌入SQL语句与主语言之间通过共享变量(主变量)完成数据的传递。 主变量根据其作用不同,分输入主变量和输出主变量。 EXEC SQL select sno,cno,grade into :sno,:cno,:grade from sc where sno=:givensno End exec 8.1嵌入式SQL (4) 游标是系统为用户开设的一个数据缓冲区,存放SQL语句的结果数据集,每个游标区都有一个名字,通过移动游标名代表的指针来访问数据集中的数据 游标的类型 卷游标 (可来回移动取任意元组) 非滚动游标(只能顺序的取下一元组) 更新游标 (对游标指向的当前行加锁) 8.1嵌入式SQL (5) 游标的使用步骤: 定义 打开 推进游标,取数据 关闭游标 [DEALLOCATE游标] 8.1嵌入式SQL (6) 游标的定义 DECLARE 游标名CURSOR FORSELECT语句; 例:定义一个能够存放sc表数据的游标 Declare cursor cur_sc for Select * from sc 8.1嵌入式SQL (7) 打开游标 Open 游标名; Open cur_sc 8.1嵌入式SQL (8) 获取游标数据 FETCH [ NEXT | PRIOR | FIRST | LAST] FROM { 游标名 | @游标变量名 } [ INTO @变量名 [,…] ] fetch next from cur_sc into @sno,@cno,@grade 8.1嵌入式SQL (9) 关闭游标 CLOSE 游标名 删除游标 DEALLOCATE 游标名 8.1嵌入式SQL (10) 例:显示SC表中每一行记录 8.1嵌入式SQL (11) Current 形式的update和delete语句 Where current of 游标名 8.2 存储过程 8.2.1 存储过程概述 8.2.2 存储过程的定义 8.2.3 存储过程的执行 8.2.4 过程化语句块的基本结构 8.2.1存储过程概述 存储过程和函数一样,是命名的语句块,它们被编译后保存在数据库中,可反复调用,并在DBMS上得到执行。 存储过程的优点 经编译和优化后存储在数据库服务器中,运行效率高 降低客户机和服务器之间的通信量 有利于集中控制,方便维护 8.2.2 存储过程的定义(1) 存储过程的创建 CREATE Procedure 过程名[@参数1 数据类型,]@参数2 数据类型[output],][…]) AS 语句块 例:创建一个存储过程,查询学号为“2011001”的学生的选课信息 CREATE PROCEDURE class_stu

文档评论(0)

精品家园 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档