数据库系统概论
An Introduction to Database System
第八章 数据库编程
中国人民大学信息学院
An Introduction to Database System
第八章 数据库编程
8.1 嵌入式SQL
8.2 过程化SQL
8.3 存储过程和函数
8.4 ODBC编程
*8.5 OLE DB
*8.6 JDBC编程
8.7 小结
An Introduction to Database System
8.1 嵌入式SQL
vSQL语言提供了两种不同的使用方式
n 交互式
n 嵌入式
v为什么要引入嵌入式SQL
n SQL语言是非过程性语言
n 事务处理应用需要高级语言
v这两种方式细节上有差别,在程序设计的环境下,
SQL语句要做某些必要的扩充
An Introduction to Database System
8.1 嵌入式SQL
8.1.1 嵌入式SQL的处理过程
8.1.2 嵌入式SQL语句与主语言之间的通信
8.1.3 不用游标的SQL语句
8.1.4 使用游标的SQL语句
8.1.5 动态SQL
An Introduction to Database System
8.1.1 嵌入式SQL的处理过程
v主语言
n 嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入
的程序设计语言,如C、C++、Java,称为宿主语言,
简称主语言。
v处理过程
n 预编译方法
An Introduction to Database System
嵌入式SQL的处理过程(续)
含嵌入式SQL语句
的主语言程序
关系数据库管理系统预处
理程序转换嵌入式SQL语
句为函数调用
转换后的
主语言程序
主语言编译程序
编译处理
目标语言程序
An Introduction to Database System
嵌入式SQL的处理过程(续)
v为了区分SQL语句与主语言语句,所有SQL语句
必须加, 前缀:EXEC SQL,
v结束标志:随主语言的不同而不同
主语言为C语言时,语句格式:
n EXEC SQL ;
例:EXEC SQL DROP TABLE Student;
以COBOL作为主语言的嵌入式SQL语句的一般形式
EXEC SQL END-EXEC
例: EXEC SQL DROP TABLE Student END-EXEC
An Introduction to Database System
8.1 嵌入式SQL
8.1.1 嵌入式SQL的处理过程
8.1.2 嵌入式SQL语句与主语言之间的通信
8.1.3 不用游标的SQL语句
8.1.4 使用游标的SQL语句
8.1.5 动态SQL
An Introduction to Database System