数据库编程技术详解与实现方法.pdfVIP

  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文档。上传文档
查看更多

第六单元数据库编程

1.嵌入式SQL

◼交互式SQL和嵌入式SQL是SQL的两种使用方法。

◼将SQL语言嵌入到宿主语言程序中,将SQL语言数据库的功能和宿主

语言的数据处理功能相结合,这种使用SQL的方法称为嵌入式SQL。

◼如何实现嵌入式SQL?

✓宿主语言的编译器不能识别,如何将嵌有语句的宿主语言编

译成可执行代码?

✓宿主语言与之间如何传递数据和信息?

✓如何解决元组集合数据对宿主语言变量的赋值?

6.1嵌入式SQL

◼预编译+SQL语句标注方法

用EXECSQL前缀来标识SQL语句,以区分宿主语言与SQL语言。

6.1嵌入式SQL

◼宿主语言与DBMS之间如何通信?

SQL通信区(SQLCA)

✓是一个数据结构

✓描述系统当前工作状态

✓描述运行环境

SQLCA使用方法

✓定义:

✓使用:变量,为执行成功,否则表示出错。

共享变量(主变量)

✓宿主语言与语言之间通过共享变量进行数据传送;

✓共享变量由宿主语言程序定义,可在语句中。

6.1嵌入式SQL

◼元组集合数据对宿主语言变量的赋值

游标cursor

✓游标是为了解决元组集合对主变量的赋值问题(多对一)

✓游标是个用户数据缓冲区

✓采用类似指针的技术定位某一个元组

游标的使用方法

✓定义游标:游标名

查询子句;

✓打开游标:游标名

✓推进游标:游标名主变量表;

✓关闭游标:游标名

6.1嵌入式SQL

◼嵌入式SQL的实现方法

说明部分(定义共享变量、环境变量、游标等)

ExecSQLBeginDeclareSection;

charsno[10],sname[20],intsage;

ExecSQLEndDeclareSection;

执行部分

ExecSQLInsertintoStudent(sno,sname,sage)values(:sno,:sname,:sage);

ExecSQLUpdateStudentSETsname=:sname,sage=:sageWheresno=:sno;

ExecSQLDeletefromSCWheresno=(SelectsnofromStudent

Wheresno=:sno);

ExecSQLSelectsname,sageinto:sname,:sagefromStudent

Wheresno=:sno;

6.1嵌入式SQL

[例]依次检查某个系的学生记录,交互式更新某些学生。

主变量说明开始

主变量说明结束

定义通信区

文档评论(0)

kay5620 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8001056127000014

1亿VIP精品文档

相关文档