↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 6.5 / 6.4
历史版本。 PostgreSQL 8.4 已结束支持。 请参阅 当前版本手册.

第 32 章 ECPG - C 中的嵌入式 SQL

这一章描述了用于PostgreSQL的嵌入式SQL包。它由 Linus Tolke()和 Michael Meskes()编写。最初它是为了与C一起工作而编写的。它也能与C++配合,但是它还不识别所有的C++结构。

这份文档还很不完整。不过,由于这一接口是标准化的,因此可以在许多关于 SQL 的资料中找到补充信息。

32.1. 概念 #

嵌入式 SQL 程序由普通编程语言编写的代码(这里是 C)与位于特殊标记区段中的 SQL 命令混合组成。要构建该程序,首先要将源代码交给嵌入式 SQL 预处理器,它会把源代码转换成普通 C 程序,之后就可以由 C 编译器处理。

与其他在 C 代码中处理SQL命令的方法相比,嵌入式SQL有其优势。首先,它能处理与你的C程序变量之间来回传递信息的繁琐工作。其次,程序中的 SQL 代码会在构建时接受语法正确性检查。第三,C 中的嵌入式SQL由SQL标准规定,并且得到许多其他SQL数据库系统的支持。PostgreSQL 的实现被设计为尽可能贴合该标准,因此通常可以比较容易地把为其他 SQL 数据库编写的嵌入式SQL程序移植到PostgreSQL。

如前所述,为嵌入式 SQL 接口编写的程序,就是插入了特殊代码的普通 C 程序,这些特殊代码用于执行数据库相关操作,其形式始终如下:

EXEC SQL ...;

这些语句在语法上占据一条 C 语句的位置。根据具体语句的不同,它们可以出现在全局层级,也可以出现在函数内部。嵌入式 SQL 语句遵循普通 SQL 代码的大小写规则,而不是 C 的规则。

下列小节解释了所有嵌入式 SQL 语句。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.