返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

30.4. 运行 SQL 命令

发布于 2019-09-30 03:08:15 字数 1364 浏览 1012 评论 0 收藏 0

在嵌入的 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;

形如 :something这样的记号是宿主变量,也就是说,它们指向 C 程序里的变量。我们在下一节里解释这些话题。

在缺省模式下,语句只有在发出了 EXEC SQL COMMIT的时候才提交。嵌入的 SQL 接口也支持事务的自动提交(类似 libpq 的行为),方法是通过给 ecpg (见下文) 增加命令行选项-t,或者是通过 EXEC SQL SET AUTOCOMMIT TO ON 语句。在自动提交模式里,每条命令都是自动提交的,除非它们包围在一个明确的事务块里。这个模式可以用 EXEC SQL SET AUTOCOMMIT TO OFF 明确地关闭。

<
PrevHomeNext
关闭连接Up选取一个连接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文