文档介绍:数据库系统概论
An Introduction to Database System
第八章数据库编程
秩码识印尽椎棺割腻皿陕先堰延拷厦帧型跌鼠萤鲜塌蹿喧奎配寿去闸苛权数据库系统概论数据库编程数据库系统概论数据库编程
1
An Introduction to Database System
第八章数据库编程
嵌入式SQL
存储过程
ODBC编程
冠悍捂俗糙滓坡王贫躺禹逊敬药宗靡娩抚鼠雪侯峪酞焙讥炉刹啡悉又迂巧数据库系统概论数据库编程数据库系统概论数据库编程
2
An Introduction to Database System
嵌入式SQL
嵌入式SQL的处理过程
不用游标的SQL语句
使用游标的SQL语句
动态SQL
小结
扭汕田斧潮掇矢饭甸没扩苞琳妹用炮目颇笑团扶获咎皇股译阿忍编织金逛数据库系统概论数据库编程数据库系统概论数据库编程
3
An Introduction to Database System
嵌入式SQL的处理过程
SQL语言提供了两种不同的使用方式:
交互式
嵌入式
为什么要引入嵌入式SQL
SQL语言是非过程性语言
事务处理应用需要高级语言
这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充
赐拆掂膏扣定怎母蹲哮妨蛹澎卉赘羔竿懈背弟殃微蔼聂能澜线归顷祭控爽数据库系统概论数据库编程数据库系统概论数据库编程
4
An Introduction to Database System
嵌入式SQL的处理过程
为了区分SQL语句与主语言语句,需要:
前缀:EXEC SQL
结束标志:随主语言的不同而不同
以C为主语言的嵌入式SQL语句的一般形式
EXEC SQL <SQL语句>;
例:EXEC SQL DROP TABLE Student;
牢沂彻裹怜称求菏慌绰阴诱袱烁屿狗齿扔功瞎郎逸起枫鸟薄吕貉墙甫屈齿数据库系统概论数据库编程数据库系统概论数据库编程
5
An Introduction to Database System
DBMS处理宿主型数据库语言SQL 的方法
预编译
修改和扩充主语言使之能处理SQL语句
振鉴烘贩丘稚狈茁腰亭味舞咯怔焰松敬蹄殴灵孰累匡侣拣岗工逾痴挪细礼数据库系统概论数据库编程数据库系统概论数据库编程
6
An Introduction to Database System
预编译
,识别出SQL语句
,以使主语言编译程序能识别它
。
兑拆藕易琵奎挟空茸绳纽缚舰赛谈着空吗污绚踪掣述愈二拼惹极兼难鼠一数据库系统概论数据库编程数据库系统概论数据库编程
7
An Introduction to Database System
嵌入SQL语句
说明性语句
嵌入SQL语句数据定义
可执行语句数据控制
数据操纵
允许出现可执行的高级语言语句的地方,都可以写可执行SQL语句
允许出现说明语句的地方,都可以写说明性SQL语句
包歉擞晓钨棒柞嗜掂袖碎宵沽泞淳揩想贯架很钢垄郎得畅魁伯欠囤傲伴邮数据库系统概论数据库编程数据库系统概论数据库编程
8
An Introduction to Database System
嵌入式SQL语句与主语言之间的通信
将SQL嵌入到高级语言中混合编程,程序中会含
有两种不同计算模型的语句
SQL语句
描述性的面向集合的语句
负责操纵数据库
高级语言语句
过程性的面向记录的语句
负责控制程序流程
隔闯听承腊默缄旗赴闸掌避贰你洒墒刷幸鉴湿罪砌晌云钡叼序撵淹般屡酉数据库系统概论数据库编程数据库系统概论数据库编程
9
An Introduction to Database System
工作单元之间的通信方式
1. SQL通信区
向主语言传递SQL语句的执行状态信息
主语言能够据此控制程序流程
2. 主变量
1)主语言向SQL语句提供参数
2)将SQL语句查询数据库的结果交主语言进一步处理
3. 游标
1)解决集合性操作语言与过程性操作语言的不匹配
2)将SQL语句查询数据库的结果交主语言进一步处理
脓两证没酿唉循般倡势想阮宁损怔哨专空槽馈宛近咽奏录攘滔替沦宵聚菊数据库系统概论数据库编程数据库系统概论数据库编程
10
An Introduction to Database System