pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
任何 SQL 命令都可以在一个嵌入式 SQL 应用中被运行。下面是一些在嵌入式 SQL 应用中运行 SQL 命令的例子。
创建一个表:
EXEC SQL CREATE TABLE foo (number integer, 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;
单行 Select:
EXEC SQL SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';
使用游标的 Select:
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;
形如 : 的记号是 宿主变量,即它们引用 C 程序中的变量。下一 节会解释它们。something
在默认模式下,只有在发出 EXEC SQL COMMIT 时语句才被提交。嵌入式 SQL 接口还支持事务自动提交(就像其他 接口中那样),可以通过 ecpg 的 -t 命令行选项(见下文)或 EXEC SQL SET AUTOCOMMIT TO ON 语句启用。 在自动提交模式下,除非处于显式的 事务块中,每条查询都会自动提交。这个模式可以用 EXEC SQL SET AUTOCOMMIT TO OFF 显式关闭。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。