以下是使用 ecpg 的一些基本示例:
1. 在 C 代码中嵌入 SQL 查询:
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
EXEC SQL BEGIN DECLARE SECTION;
char *connstr = "dbname=mydatabase user=myuser password=mypassword";
EXEC SQL END DECLARE SECTION;
int main() {
EXEC SQL CONNECT TO :connstr;
if (sqlca.sqlcode != 0) {
fprintf(stderr, "Connection to database failed\n");
exit(1);
}
EXEC SQL DECLARE mycursor CURSOR FOR
SELECT column1, column2 FROM mytable WHERE condition;
EXEC SQL OPEN mycursor;
while (SQLCODE == 0) {
EXEC SQL FETCH mycursor INTO :value1, :value2;
if (SQLCODE == 0) {
printf("Values: %s, %s\n", value1, value2);
}
}
EXEC SQL CLOSE mycursor;
EXEC SQL COMMIT;
return 0;
}
2. 编译使用 ecpg 处理的代码:
ecpg yourprogram.pgc
gcc -o yourprogram yourprogram.c -lecpg
请确保你的系统中安装了 ecpg 工具。上述示例中,yourprogram.pgc 是包含 ecpg 标记的源代码文件,yourprogram.c 是由 ecpg 生成的 C 代码文件。
具体的 SQL 语法和 ecpg 的使用方式可以参考 PostgreSQL 的文档,以了解更多详细信息:[Embedded SQL (ecpg) - PostgreSQL Documentation](https://www.postgresql.org/docs/current/ecpg.html)。
转载请注明出处:http://www.zyzy.cn/article/detail/8783/PostgreSQL