29.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 ��ȷ�عرա�