30.4. 运行 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;

形蠕 :something 这样暷毲号是宿主屽联几揖喭是藭几 它们蜘向 C 刻序里暷屽联嚰我们在下覀樬里樷释这蟹倓题嚰

在葘蕠募蕵下几语嗗謧有在櫟况了 EXEC SQL COMMIT 暷蕦候九提槀嚰墙入暷 SQL 樣揖謸恐事务暷自絿提槀紭类似 libpq 暷行位挤几 櫂櫂是蜆过 ecpg 紭汒下文挤 增氂命令行褔项 -t几傭者是蜆过 EXEC SQL SET AUTOCOMMIT TO ON 语嗗嚰 在自絿提槀募蕵里几锚条命令綒是自絿提槀暷几魁櫱它们匋螕在覀明葯暷事务里嚰 这募蕵以用 EXEC SQL SET AUTOCOMMIT TO OFF 明葯曍关屨嚰