SQL语言提供了两种不同的使用方式 :交互式, 嵌入式。
SQL语言是非过程性语言 。事务处理应用需要高级语言。 这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充。
1.嵌入式SQL的处理过程
嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入的程序设计语言,如C、C++、Java,称为宿主语言,简称主语言。
处理过程: 预编译方法
为了区分SQL语句与主语言语句,所有SQL语句必须加前缀EXEC SQL
主语言为C语言时,语句格式: EXEC SQL <SQL语句>
2.嵌入式SQL语句与主语言之间的通信
通信过程:
(1)向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要用SQL通信区实现
(2)主语言向SQL语句提供参数,主要用主变量实现
(3)将SQL语句查询数据库的结果交主语言处理,主要用主变量和游标实现
1. SQL通信区
SQLCA: SQL Communication Area
SQLCA是一个数据结构
SQLCA的用途:
SQL语句执行后,系统反馈给应用程序信息 描述系统当前工作状态 , 描述运行环境 。
这些信息将送到SQL通信区中 。应用程序从SQL通信区中取出这些状态信息,据此决定接下来执行的语句。
SQLCA使用方法 :
定义SQLCA :用EXEC SQL INCLUDE SQLCA定义
使用SQLCA:<