2025年9月25日: PostgreSQL 18 发布!
支持版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 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

第 34 章. ECPG — 嵌入式SQL在 C 中

目录

34.1. 概念
34.2. 管理数据库连接
34.2.1. 连接到数据库服务器
34.2.2. 选择连接
34.2.3. 关闭连接
34.3. 执行 SQL 命令
34.3.1. 执行 SQL 语句
34.3.2. 使用游标
34.3.3. 管理事务
34.3.4. 预处理语句
34.4. 使用宿主变量
34.4.1. 概述
34.4.2. 声明节
34.4.3. 检索查询结果
34.4.4. 类型映射
34.4.5. 处理非原始 SQL 数据类型
34.4.6. 指示符
34.5. 动态 SQL
34.5.1. 执行不带结果集的语句
34.5.2. 执行带输入参数的语句
34.5.3. 执行带结果集的语句
34.6. pgtypes 库
34.6.1. 字符串
34.6.2. numeric 类型
34.6.3. date 类型
34.6.4. timestamp 类型
34.6.5. interval 类型
34.6.6. decimal 类型
34.6.7. pgtypeslib 的 errno 值
34.6.8. pgtypeslib 的特殊常量
34.7. 使用描述符区域
34.7.1. 命名 SQL 描述符区域
34.7.2. SQLDA 描述符区域
34.8. 错误处理
34.8.1. 设置回调函数
34.8.2. sqlca
34.8.3. SQLSTATESQLCODE
34.9. 预处理器指令
34.9.1. 包含文件
34.9.2. define 和 undef 指令
34.9.3. ifdef, ifndef, elif, else, 和 endif 指令
34.10. 处理嵌入式 SQL 程序
34.11. 库函数
34.12. 大对象
34.13. C++应用程序
34.13.1. 宿主变量的作用域
34.13.2. 使用外部 C 模块进行 C++ 应用程序开发
34.14. 嵌入式 SQL 命令
ALLOCATE DESCRIPTOR — 分配一个 SQL 描述符区域
CONNECT — 建立数据库连接
DEALLOCATE DESCRIPTOR — 释放一个 SQL 描述符区域
DECLARE — 定义一个游标
DECLARE STATEMENT — 声明 SQL 语句标识符
DESCRIBE — 获取关于预处理语句或结果集的信息
DISCONNECT — 终止数据库连接
EXECUTE IMMEDIATE — 动态准备并执行一个语句
GET DESCRIPTOR — 从 SQL 描述符区域获取信息
OPEN — 打开一个动态游标
PREPARE — 准备一个语句以供执行
SET AUTOCOMMIT — 设置当前会话的自动提交行为
SET CONNECTION — 选择一个数据库连接
SET DESCRIPTOR — 设置 SQL 描述符区域中的信息
TYPE — 定义一个新数据类型
VAR — 定义一个变量
WHENEVER — 指定当 SQL 语句引发特定类别的条件时应采取的操作
34.15. Informix 兼容模式
34.15.1. 附加类型
34.15.2. 附加/缺失的嵌入式 SQL 语句
34.15.3. Informix 兼容的 SQLDA 描述符区域
34.15.4. 附加函数
34.15.5. 附加常量
34.16. Oracle 兼容模式
34.17. 内部机制

本章介绍了用于 PostgreSQL 的嵌入式SQL包。它由 Linus Tolke () 和 Michael Meskes () 编写。最初它是为了与C一起使用而编写的。它也适用于C++, 但它尚未识别所有C++构造。

此文档很不完整。但由于该接口是标准化的,因此可以在许多关于 SQL 的资源中找到额外信息。

提交更正

如果您在文档中看到任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。