3 嵌入SQL语言预处理程序(预编译器)
  嵌入宿主语言是把对数据库进行操作的SQL语句嵌入到数据库主程序设计语言中。如嵌入到COBOL、FORTRAN、C 、C++ 等语言中。在应用程序中,需要访问数据库的地方,嵌入 SQL 语句块, 通常有块头和块尾标识语句,块内是 SQL 语句。例如,ORACLE关系数据库系统提供有编程语言PRO * C。它是在 C 语言中嵌入 SQL语言。使用PRO * C类似使用 C 语言编程。嵌入 SQL 语句块的一般格式如下所示:
��EXEC SQL BEGIN
��������(SQL 语句)
��EXEC SQL END
��实现嵌入式数据库操作通常要开发预编译器。所谓预编译器是指在用主程序语言编译器编译之前,对带有嵌入SQL语句的源程序代码进行预处理,把SQL语句转换成主程序语言源代码。再利用主语言编译器生成目标代码,经装配生成最后可执行代码。所以,预编译器的工作过程是先扫描带有嵌入 SQL 语句的源程序,把嵌入的 SQL 语句块经预编译器翻译成相应主语言对数据库进行操作子的函数调用语句,产生纯主语言程序文本。
��预编译的结果是产生纯主语言的源代码程序。为了增加程序的可读性,可把原来的嵌入的SQL语句改成相应主语言的注释语句。例如,把 C 语言作为嵌入式主语言,带有嵌入 SQL 语句的源程序编译流程图如图 7-3所示。

  图 7-3 嵌入式语言的编译流程
��使用嵌入式的 SQL,当 SQL 语句是标准的数据操作语句时,可增加程序的可移植性,减少程序员开发软件中熟悉新语言的麻烦。目前大多数数据库操作语言都用美国国家标准局规定的标准 SQL (Structured Query Language)语言。
��SQL 语言是结构化的数据查询语言。是由IBM Research实验室为SYSTEM R配置的查询语言。SQL 虽然名为查询语言,但实际上包括数据定义、查询、操作和控制等功能,是一种高级的结构化的数据库语言。

��