网站大量收购独家精品文档,联系QQ:2885784924

数据库原理第8章数据库编程.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

例题(续)*第8章数据库编程*......1......2};3EXECSQLCLOSESX;/*关闭游标*/4......5...... 68.1.5动态SQL简介*第8章数据库编程*动态嵌入式SQL静态嵌入式SQL一、静态SQL的特点*第8章数据库编程*用户可以在程序运行过程中根据实际需要输入WHERE子句或HAVING子句中某些变量的值。01语句中主变量的个数与数据类型在预编译时都是确定的,只有是主变量的值是程序运行过程中动态输入的。02静态SQL的不足*第8章数据库编程*静态SQL语句提供的编程灵活性在许多情况下仍显得不足,不能编写更为通用的程序。例,对SC:需求*第8章数据库编程*任课教师想查选修某门课程的所有学生的学号及其成绩班主任想查某个学生选修的所有课程的课程号及相应成绩学生想查某个学生选修某门课程的成绩即:查询条件是不确定的,要查询的属性列也是不确定的二、动态SQL*第8章数据库编程*动态SQL方法允许在程序运行过程中临时“组装”SQL语句。什么是动态嵌入式SQL在预编译时下列信息不能确定时SQL语句正文主变量个数主变量的数据类型SQL语句中引用的数据库对象(列、索引、基本表、视图等)应用范围动态SQL的形式动态SQL(续)*第8章数据库编程*语句可变01临时构造完整的SQL语句02条件可变03WHERE子句中的条件04HAVING短语中的条件05数据库对象可变06SELECT子句中的列名07FROM子句中的表名或视图名08动态SQL(续)*第8章数据库编程*使用动态SQL技术更多的是涉及程序设计方面的知识,而不是SQL语言本身动态SQL支持的两种形式动态组装SQL语句动态参数010302一、动态组装SQL语句*第8章数据库编程*特点:程序主变量为SQL语句主变量[例9]创建基本表TEST。EXECSQLBEGINDECLARESETION;Constchar*stmt=“CREATETABLETEST(a,int)”;/*定义SQL语句主变量*/EXECSQLENDDECLARESECTION;......EXECSQLEXECUTEIMMEDIATE:stmt;例题*第8章数据库编程*例1查询某个系全体学生的信息(学号、姓名、性别和年龄)。要查询的系名由用户在程序运行过程中指定,放在主变量deptname中......EXECSQLBEGINDECLARESECTION;......EXECSQLINCLUDESQLCA;12345例题(续)*第8章数据库编程*....../*说明主变量deptname,HSno,HSname,HSsex,HSage等*/............EXECSQLENDDECLARESECTION;............gets(deptname);/*为主变量deptname赋值*/......例题(续)*第8章数据库编程*STEP5STEP4STEP3STEP2STEP1EXECSQLDECLARESXCURSORFORSELECTSno,Sname,Ssex,SageFROMStudentWHERESDept=:deptname;/*说明游标*/EXECSQLOPENSX/*打开游标*/例题(续)*第8章数据库编程*WHILE(1)/*用循环结构逐条处理结果集中的记录*/{EXECSQLFETCHSXINTO:HSno,:HSname,:HSsex,:HSage;/*将游标指针向前推进一行,然后从结果集中取当前行,送相应主变量*/例题(续)*第8章数据库编程*if(sqlca.sqlcodeSUCCESS)1break;2/*若所有查询结果均已处理完或出现3SQL语句错误,则退出循环*/4/*由主语言语句进行进一步处理*/5......6......7};8例题(续)

文档评论(0)

135****2083 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档