预编译 1.由DBMS的预处理程序对源程序进行扫描, 识别出SQ语句 2.把它们转换成主语言调用语句,以使主语言 编译程序能识别它 3.最后由主语言的编译程序将整个源程序编译 成目标码。 An Introduction to Database System
An Introduction to Database System 预编译 1.由DBMS的预处理程序对源程序进行扫描, 识别出SQL语句 2.把它们转换成主语言调用语句,以使主语言 编译程序能识别它 3.最后由主语言的编译程序将整个源程序编译 成目标码
嵌入SQL语句 说明性语句 嵌入SQL语句 数据定义 可执行语句数据控制 数据操纵 ■允许出现可执行的高级语言语句的地方,都可 以写可执行SQL语句 允许出现说明语句的地方,都可以写说明性 SQL语句 An Introduction to Database System
An Introduction to Database System 嵌入SQL语句 说明性语句 嵌入SQL语句 数据定义 可执行语句 数据控制 数据操纵 ◼ 允许出现可执行的高级语言语句的地方,都可 以写可执行SQL语句 ◼ 允许出现说明语句的地方,都可以写说明性 SQL语句
372嵌入式SQL语句与主语言之间的通信 将SqL嵌入到高级语言中混合编程,程序中会含 有两种不同计算模型的语句 SQL语句 描述性的面向集合的语句 n负责操纵数据库 ■高级语言语句 过程性的面向记录的语句 负责控制程序流程 An Introduction to Database System
An Introduction to Database System 3.7.2 嵌入式SQL语句与主语言之间的通信 将SQL嵌入到高级语言中混合编程,程序中会含 有两种不同计算模型的语句 ◼ SQL语句 ◼ 描述性的面向集合的语句 ◼ 负责操纵数据库 ◼ 高级语言语句 ◼ 过程性的面向记录的语句 ◼ 负责控制程序流程
工作单元之间的通信方式 1.SQL通信区 向主语言传递SQL语句的执行状态信息 主语言能够据此控制程序流程 2.主变量 1)主语言向SQL语句提供参数 2)将SQL语句查询数据库的结果交主语言进一步处理 3.游标 解决集合性操作语言与过程性操作语言的不匹配 An Introduction to Database System
An Introduction to Database System 工作单元之间的通信方式 1. SQL通信区 向主语言传递SQL语句的执行状态信息 主语言能够据此控制程序流程 2. 主变量 1)主语言向SQL语句提供参数 2)将SQL语句查询数据库的结果交主语言进一步处理 3. 游标 解决集合性操作语言与过程性操作语言的不匹配
1.SQL通信区 SQLCA: SQL Communication Area SQLCA是一个数据结构 SQLCA的用途 ■SQL语句执行后,DBMS反馈给应用程序信息 描述系统当前工作状态 描述运行环境 这些信息将送到SQ通信区 SQLCA中 应用程序从 SQLCA中取出这些状态信息,据此决定 接下来执行的语句 An Introduction to Database System
An Introduction to Database System 1. SQL通信区 ◼ SQLCA: SQL Communication Area ◼ SQLCA是一个数据结构 ◼ SQLCA的用途 ◼ SQL语句执行后,DBMS反馈给应用程序信息 ◼ 描述系统当前工作状态 ◼ 描述运行环境 ◼ 这些信息将送到SQL通信区SQLCA中 ◼ 应用程序从SQLCA中取出这些状态信息,据此决定 接下来执行的语句