第八章 数据库编程

标准SQL是非过程化的查询语言,具有操作统一、面向集合、功能丰富、使用简单等多项优点,但是和程序设计语言相比,高度非过程化的优点也造成了它的弱点,缺少流程控制能力,难以实现应用业务中的逻辑控制。SQL编程技术可以有效克服SQL语言实现复杂应用方面的不足,提高应用系统和数据库管理系统间的互操作性。
嵌入式SQL
嵌入式SQL,数据库管理系统一般采用预编译方法处理,即由数据库管理系统的预处理程序对源程序进行扫描,识别出嵌入式SQL语句,把它们转换成主语言调用语句,以使主语言编译程序能识别它们,然后由主语言的编译程序将纯的主语言程序编译成目标码。
嵌入式SQL语句与主语言之间的通信
(1)	向主语言传递SQL语句的执行状态信息,使主语言能够根据此信息控制程序流程,主要用SQK通信去实现。
(2)	主语言向SQL语句提供参数,主要用主变量实现
(3)	将SQL语句查询数据库的结果交主语言处理,主要用主变量和游标实现
不使用游标的SQL语句
查询结果为单记录的SELECT语句;

image

非CURRENT形式的增删改语句
有些非CURRENT形式的增删改语句不需要使用游标。在UPDATE的SET子句和WHERE子句中可以使用主变量,SET子句还可以使用指示变量。

image

使用游标的SQL语句
查询结果为多条记录的SELECT语句;
CURRENT形式的UPDATE和DELETE语句;
动态SQL
主变量、查询目标列、条件等固定的属于静态SQK语句,若不固定需要动态SQL
(1)	使用SQL语句主变量
(2)	动态参数
(3)	执行准备好的SQL语句(EXECUTE)
流程控制
(1)	条件控制语句(IF语句,IF-THEN语句,嵌套的IF语句)
(2)	循环控制语句(最简单的循环语句LOOP,WHILE-LOOP循环语句,FOR-LOOP循环语句)
(3)	错误处理
存储过程和函数
存储过程优点:运行效率高,提供了在服务器端快速执行SQL语句的途径;存储过程降低了客户机和服务器之间的通信量;方便实施企业规则
函数:与存储过程类似,是持久性存储模块,需指定返回数据类型
ODBC编程
ODBC使数据库系统开放,可以实现数据库互连。ODBC建立了一组规范,并提供一组访问数据库的应用程序编程接口,具有两重功效和约束力,一方面规范应用开发,另一方面规范数据库管理系统应用接口。
ODBC工作原理

image

ODBC API基础
需符合两方面的一致性:API一致性,包含核心级、扩展1级、扩展2级;语法一致性,包含最低限度SQL语法级、核心SQL语法级、扩展SQL语法级。
ODBC工作流程

image

posted @ 2023-05-09 10:56  快乐小狗呀  阅读(51)  评论(0)    收藏  举报