|
ecpgSynopsisecpg [-v] [-t] [-I include-path ] [-o outfile ] file ... 输入ecpg 接受下面命令行参数:
描述ecpg 是一个嵌入的用于 PostgreSQL 和 C 语言的 SQL 预编译器. 她使得用嵌入的 SQL 代码书写 C 程序成为可能. Linus Tolke( < linus@epact.se > ) (又叫 Linus:)是 ecpg 最初的作者(直到版本 0.2). Michael Meskes( < meskes@debian.org > ) 是目前的 ecpg 的维护人员和作者. Thomas Good( < tomg@q8.nrnet.org > 人真好:) 是 ecpg 手册页最新版本的作者,这个手册页也是这份文档的基础. 用法语法变量声明在 ecpg 源程序里的变量声明必须前导: EXEC SQL BEGIN DECLARE SECTION;
类似的,变量声明段必须以下面语句结束: EXEC SQL END DECLARE SECTION;
错误控制SQL 通讯区定义如下: EXEC SQL INCLUDE sqlca;
sqlprint 命令和 EXEC SQL WHENEVER 语句一起使用可以打开整个程序的错误控制: EXEC SQL WHENEVER sqlerror sqlprint; 和 EXEC SQL WHENEVER not found sqlprint;
与数据库服务器联接一种联接使用下面语句: EXEC SQL CONNECT TO dbname ; 这里数据库名称没有用引号引起.在 2.1.0 以前, 数据库的名称要求被单引号引起. 在联接语句里声明服务器名和端口名也同样可以.语法是: dbname [@ server ][: port ] 或者 <tcp|unix>:postgresql:// server [: port ][/ dbname ][? options ]
查询通常,其他应用,如 psql , 可以接受的SQL 查询都可以嵌入到你的 C 代码里.下面是几个如何做的例子. 创建表: EXEC SQL CREATE TABLE foo (number int4, ascii char(16)); EXEC SQL CREATE UNIQUE index num1 on foo(number); EXEC SQL COMMIT;
插入: EXEC SQL INSERT INTO foo (number, ascii) VALUES (9999, 'doodad'); EXEC SQL COMMIT;
删除: EXEC SQL DELETE FROM foo WHERE number = 9999; EXEC SQL COMMIT;
单字段选择: EXEC SQL SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';
使用游标选择: EXEC SQL DECLARE foo_bar CURSOR FOR SELECT number, ascii FROM foo ORDER BY ascii; EXEC SQL FETCH foo_bar INTO :FooBar, DooDad; ... EXEC SQL CLOSE foo_bar; EXEC SQL COMMIT;
更新: EXEC SQL UPDATE foo SET ascii = 'foobar' WHERE number = 9999; EXEC SQL COMMIT;
|