1. 准备工作: 确保已经安装了 PostgreSQL 数据库和 ECPG。
2. 创建数据库表: 在 PostgreSQL 数据库中创建一个简单的表,用于存储数据。
CREATE TABLE employee (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10, 2)
);
3. 编写嵌入式 SQL 程序: 创建一个 C 语言程序,使用 ECPG 嵌入 SQL 命令。
#include <stdio.h>
#include <stdlib.h>
#include <ecpglib.h>
EXEC SQL BEGIN DECLARE SECTION;
// 定义嵌入式 SQL 变量
int employee_id;
char employee_name[100];
double employee_salary;
EXEC SQL END DECLARE SECTION;
int main() {
// 连接到 PostgreSQL 数据库
EXEC SQL CONNECT TO your_database_name USER your_username USING your_password;
// 插入数据
EXEC SQL INSERT INTO employee (name, salary) VALUES ('John Doe', 50000.00);
// 查询数据
EXEC SQL DECLARE emp_cursor CURSOR FOR SELECT id, name, salary FROM employee;
EXEC SQL OPEN emp_cursor;
// 检索和打印结果
while (1) {
EXEC SQL FETCH emp_cursor INTO :employee_id, :employee_name, :employee_salary;
if (SQLCODE == 100) break; // No more rows
// 处理结果
printf("Employee ID: %d, Name: %s, Salary: %.2f\n", employee_id, employee_name, employee_salary);
}
// 关闭连接
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
return 0;
}
4. 预处理和编译: 使用 ECPG 工具对 C 代码进行预处理,生成标准的 C 代码。
ecpg your_program.ec
5. 编译和链接: 使用编译器(例如 gcc)将预处理后的 C 代码编译成可执行程序,并链接到 ECPG 库。
gcc -o your_program your_program.c -lecpg
6. 运行程序: 运行生成的可执行程序。
./your_program
请注意,上述示例中的一些参数(如数据库名称、用户名、密码)需要根据你的实际设置进行替换。嵌入式 SQL 可以在 C 代码中直接嵌入 SQL 命令,使得数据库交互更加方便。
转载请注明出处:http://www.zyzy.cn/article/detail/8403/PostgreSQL