数据库整理(五)数据库编程 触发器 事务 过程
数据库整理(五)数据库编程 嵌入式SQL 交互式SQL和嵌入式SQL是SQL的两种使用方法。将SQL语言嵌入到宿主语言程序中, 将SQL语言访问数据库的功能和宿主语言的数据处理功能相结合 ,这种使用SQL的方法称为嵌入式SQL。 SQL查询数据库的能力强,高级语言对复杂应用和复杂逻辑处理能力强 类似断言、触发器等操作需要对数据进行处理,原生SQL能力不强 数据库服务器只识别SQL语句,用SQL可以提高效率 如何实现嵌入式SQL? 宿主语言(简称 主语言 )的编译器不能识别SQL,如何将嵌有SQL语句的宿主语言编译成可执行代码? 宿主语言与DBMS之间如何传递数据和信息? 如何解决元组集合数据对宿主语言变量的赋值? 识别与处理SQL 数据库管理系统一般采用预编译方法处理,即由数据库管理系统的预处理程序对源程序进行扫描,识别出嵌入式SQL语句,把它们转换成主语言调用语句,以使主语言编译程序能识别它们,然后由主语言的编译程序将纯的主语言程序编译成目标码 为了调用,将SQL语言转变为函数调用 用EXEC SQL前缀来标识SQL语句 ,以区分宿主语言与SQL语言。 EXEC SQL <SQL语句>; 嵌入式SQL语句与主语言的通信 SQL负责操纵数据库,高级语言语句负责控制逻辑流程 数据库工作单元与源程序工作单元之间的通信主要包括: (1) 向主语言传递SOL语句的执行状态信息