嵌入式 SQL

将 SQL 语句发送到 DBMS 的第一种方法是嵌入式 SQL。 由于 SQL 不使用变量和控制流语句,因此它通常用作数据库子语言,可以添加到采用传统编程语言(如 C 或 COBOL)编写的程序。 这是嵌入式 SQL 的核心理念:将 SQL 语句放置在以主机编程语言编写的程序中。 简言之,以下技术用于在主机语言中嵌入 SQL 语句:

  • 嵌入式 SQL 语句由特殊的 SQL 预编译程序处理。 所有 SQL 语句都以引入器开头,以终止符结尾,这两个语句都标记了预编译程序的 SQL 语句。 引入器和终止符因主机语言而异。 例如,引入器在 C 语言中为“EXEC SQL”,在 MUMPS 语言中为“&SQL(”,终止符在 C 语言中为分号 (;),在 MUMPS 语言中为右括号。

  • 应用程序中的变量称为主机变量,可以在任何允许使用常数的嵌入式 SQL 语句中使用。 这些变量可用于输入,以根据特定情况定制 SQL 语句,也可用于输出,以接收查询结果。

  • 使用单一实例 SELECT 语句处理返回单个数据行的查询;此语句同时指定要在其中返回数据的查询和主机变量。

  • 返回多行数据的查询使用游标进行处理。 游标会跟踪结果集中的当前行。 DECLARE CURSOR 语句定义查询,OPEN 语句开始查询处理,FETCH 语句检索连续的数据行,CLOSE 语句结束查询处理。

  • 当游标处于打开状态时,定位更新和定位删除语句可用于更新或删除游标当前选择的行。

本部分包含以下主题。