ECPG

一个将 SQL 语句嵌入 C 代码中的预处理器包

ECPG(“嵌入式 C 用于 PostgreSQL”)是一个预处理器包,它允许将 SQL 语句嵌入到 C(或可能是 C++ 代码,尽管对 C++ 的支持不完整)中。

ECPG 添加于 PostgreSQL 6.3,尽管它似乎基于之前为 Postgres95 提供的代码。ECPG 包含在 PostgreSQL 基础发行版中。

用法

ECPG 通过创建一个扩展名不是“.c”的源文件来使用 - 通常使用“.pgc”。在该源文件上运行 ecpg 将创建一个扩展名为“.c”的源文件,然后可以像往常一样编译 - 请记住包含“-l ecpg”标志。

ECPG 还有一个“Informix 兼容模式”,当激活时,它会尝试使其行为类似于 InformixInformix E/SQL 预编译器。但是兼容性是有限的,ECPG 不能作为将 Informix 代码移植到 PostgreSQL 的直接编译器。

更改历史记录

正在开发中

示例

最小的 ECPG“Hello World”代码示例

#include  <stdio.h>

EXEC SQL BEGIN DECLARE SECTION;
    char output[1024];
EXEC SQL END DECLARE SECTION;

int
main()
{
    EXEC SQL CONNECT TO testdb AS con1 USER testuser;

    EXEC SQL SELECT 'hello world' INTO :output;
    printf("%s\n", output);

    EXEC SQL DISCONNECT ALL;
    return 0;
}

分类

应用程序接口

反馈

提交任何关于“ECPG”的评论、建议或更正 此处