¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

6.6. ��ȯ�Ը�����

���Υ��������ϡ�ecpg�������ǤɤΤ褦��ư���Ƥ��뤫�ˤĤ��ƽ񤫤�Ƥ��ޤ����ɤΤ褦��ecpg�����Ѥ���뤫�桼�����������������Ƥ��ޤޤ�Ƥ��ޤ���

6.6.1. �ץ�ץ����å�

ecpg������Ϥ����ǽ��4�Ԥϸ���Ǥ���2�Ԥϥ����Ȥǡ�2�Ԥϥ饤�֥��Υ��󥿡��ե�������ɬ�פ�include�ԤǤ���

�ץ�ץ����å������ϥե�������ɤߡ����Ϥ˽񤭹��ߤޤ����̾�Ϥ������Ϥ�echo���ޤ���

EXEC SQLʸ�ˤʤ�ȡ�ecpg�ϴ֤����ꤳ����ѹ����ޤ���EXEC SQLʸ�ϡ����Τ����ΰ�ĤǤ���

������������

Declare���������ϰʲ��Τ褦�˻Ϥ�ޤ���

exec sql begin declare section;

�����ưʲ��Τ褦�˽����ޤ���

exec sql end declare section;

���Υ��������Ǥ��ѿ�������������Ĥ���Ƥ��ޤ������������������ѿ��Ϥ��٤ơ�����̾��������ǥå������줿�ѿ��Υꥹ�Ȥˤ�����ޤ���

�ä˹�¤�Τ䶦���Τ������declare���������ǥꥹ�Ȥ���ʤ���Ф����ޤ��󡣤������ʤ���ecpg��������Τ�ʤ�����ˤ����η��򰷤��ʤ��ʤ�ޤ���

�ѿ����̾��C�ѿ��ˤ⤹�뤿��ˡ�����ϥե�����ˤ�echo����ޤ���

���̤ʷ��Ǥ���VARCHAR��VARCHAR2�ϡ��ѿ����Ȥ�̾���Τ��빽¤�Τ��Ѵ�����ޤ��������Τ褦����������ä�����ͤ��Ƥߤޤ���

VARCHAR var[180];

����ϡ����Τ褦���Ѵ�����ޤ���

struct varchar_var { int len; char arr[180]; } var;

Includeʸ

includeʸ�ϰʲ��Τ褦�ˤʤ�ޤ���

exec sql include filename;

���Τ�ΤǤϤʤ����Ȥ����դ��Ƥ���������

#include <filename.h>

���Τ���ꡢ���ꤵ�줿�ե������ecpg���Ȥǹ�ʸ���Ϥ��ޤ����Ǥ����顢���ꤵ�줿�ե��������ȤϷ�̤�C�����ɤ˴ޤޤ�ޤ���������ˡ���ȡ�EXEC SQL���ޥ�ɤ�include�ե�����˻��ꤹ�뤳�Ȥ��Ǥ��ޤ���

connectʸ

connectʸ�ϰʲ��Τ褦�ˤʤ�ޤ���

exec sql connect to connection target;

����ϻ��ꤵ�줿�ǡ����١����ؤ���³��������ޤ���

connection target����³�������åȡˤϡ����Τ褦�˻��ꤹ�뤳�Ȥ��Ǥ��ޤ���

  • dbname[@server][:port][as connection name][user user name]

  • tcp:postgresql://server[:port][/dbname][as connection name][user user name]

  • unix:postgresql://server[:port][/dbname][as connection name][user user name]

  • character variable[as connection name][user user name]

  • character string[as connection name][user]

  • default

  • user

�桼����̾����ꤹ��ˤϡ��̤���ˡ�⤢��ޤ���

  • userid

  • userid/password

  • userid identified by password

  • userid using password

�Ǹ��userid��password�Ǥ������줾��ƥ����ȡ�ʸ���ѿ���ʸ����Ǥ����ǽ��������ޤ���

Disconnectʸ

disconnectʸ�ϰʲ��Τ褦�ˤʤ�ޤ���

exec sql disconnect [connection target];

����ϻ��ꤵ�줿�ǡ����١����ؤ���³���Ĥ��ޤ���

connection target����³�������åȡˤϼ��Τ褦�˻��ꤹ�뤳�Ȥ��Ǥ��ޤ���

  • connection name

  • default

  • current

  • all

open cursorʸ

open cursor ʸ�ϰʲ��Τ褦�ˤʤ�ޤ���

exec sql open cursor;

�����̵�뤵�졢���Ϥ˥��ԡ�����ޤ��󡣤����ˡ�Ʊ�ͤ˥�������򥪡��ץ󤹤롢���������DECLARE���ޥ�ɤ��Ȥ��ޤ���

commitʸ

commitʸ�ϰʲ��Τ褦�ˤʤ�ޤ���

exec sql commit;

rollbackʸ

rollbackʸ�ϰʲ��Τ褦�ˤʤ�ޤ���

exec sql rollback;

¾�ι�ʸ

¾��SQLʸ�ϡ�exec sql�ǻϤޤ�;�ǽ�����ΤǤ���������֤Ϥ��٤�SQLʸ�Ȥ��ư���졢�ѿ������Ѥ���ʸ���Ϥ���ޤ���

�ѿ������Ѥϥ���ܥ뤬�������:�ˤǻϤޤ���˵�����ޤ��������Ƥ���̾�����ѿ�����declare���������ǰ���������줿�ѿ����椫��õ����ޤ����ѿ��������Ѥ������ѤǤ��뤫�ˤ�äơ��ؿ�����Υ�����������Ĥ��뤿����ѿ��ؤΥݥ��󥿤����Ϥ˽񤫤�ޤ���

SQL�׵�ΰ����Ǥ��뤹�٤Ƥ��ѿ��ˤϡ��ؿ���¾�ΰ�����Ϳ�����ޤ���

  • ���̥���ܥ�Ȥ��Ƥη�

  • �ͤؤΥݥ��󥿤⤷���ϥݥ��󥿤Υݥ���

  • �ѿ���char��varchar���ä����Ϥ��Υ�����

  • ��������ǿ���������Ф��ѡ�

  • ����μ������ǤΥ��ե��åȡ�������Ф��ѡ�

  • ���̥���ܥ�Ȥ��Ƥλؼ��ѿ��η�

  • �ؼ��ѿ����ͤؤΥݥ��󥿤⤷���ϻؼ��ѿ��Υݥ��󥿤ؤΥݥ���

  • 0

  • �ؼ���������ǿ���������Ф��ѡ�

  • �ؼ�����μ������ǤΥ��ե��åȡ�������Ф��ѡ�

6.6.2. ��������

����ϥե�����foo.pgc�Υץ�ץ����å��ν��Ϥ�����������������Ǥ���

exec sql begin declare section;
int index;
int result;
exec sql end declare section;
...
exec sql select res into :result from mytable where index = :index;

����ϼ��Τ褦����������ޤ���

/* Processed by ecpg (2.6.0) */
/* These two include files are added by the preprocessor */
#include <ecpgtype.h>;
#include <ecpglib.h>;

/* exec sql begin declare section */

#line 1 "foo.pgc"

 int index;
 int result;
/* exec sql end declare section */
...
ECPGdo(__LINE__, NULL, "select  res  from mytable where index = ?     ",
        ECPGt_int,&(index),1L,1L,sizeof(int),
        ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
        ECPGt_int,&(result),1L,1L,sizeof(int),
        ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 147 "foo.pgc"

���Υޥ˥奢��Ǥ��ɤߤ䤹���褦�˥���ǥ�Ȥ��Ƥ���ޤ������ץ�ץ����å��Ϥ��Τ褦�ˤϤ��ޤ���

6.6.3. �饤�֥��

�饤�֥�����ǺǤ���פʴؿ���ECPGdo�Ǥ������δؿ��ϰ����ο����ѿ���Ȥ�ޤ���vararg()�ؿ��˵��Ĥ�����ѿ��ο����¤��Ƥ��ʤ��ޥ����Ȥ����Ȥ�ꤤ�ޤ����������ʤ���50������ʾ�ΰ������ɲä��뤳�Ȥˤʤ뤫��Ǥ���

�����ϰʲ��ΤȤ���Ǥ���

�Կ�

���顼��å������ΤߤǻȤ�줿���ιԤο��Ǥ���

ʸ����

ȯ�Ԥ����٤�SQL�׵�Ǥ��������׵�������ѿ��ˤ���ѹ�����ޤ��ʤ��Ȥ��Х���ѥ�����ˤ��Τ��Ƥ��ʤ��ä����׵�������Ϥ��줿�ѿ��ˡ��ѿ����Ԥ��٤��Ȥ����ˤ�?������ޤ���

�����ѿ�

�ץ�ץ����å��Υ�����������������Ƥ���褦�ˡ����٤Ƥ������ѿ���10�ΰ���������ޤ���

ECPGt_EOIT

�����ѿ����⤦�ʤ����Ȥ�ɽ���ޤ���

�����ѿ�

�ץ�ץ����å�����ʬ�����������褦�ˡ����٤Ƥ������ѿ���10�ΰ���������ޤ����������ѿ��ϴؿ��������Ƥ��ޤ���

ECPGt_EORT

�ѿ����⤦�ʤ����Ȥ�ɽ���ޤ���

�̾�⡼�ɤˤ������䤤��碌��exec sql commit���ޥ�ɤ�ȯ�Ԥˤ��¹Ԥ���ޤ���Ecpg��-t���ץ�����Ĥ��뤫��exec sql set autocommit to onʸ��ȯ�Ԥ��뤳�Ȥˤ�꼫ư���ߥåȤ򥵥ݡ��Ȥ��ޤ���autocommit�ʼ�ư���ߥåȡ˥⡼�ɤˤ����ơ����줾����䤤��碌�����Τʥȥ�󥶥������֥��å��������ˤʤ��¤꼫ưŪ�˥��ߥåȤ���ޤ������ε�ǽ��̵���ˤ��뤿��ˤ�exec sql set autocommit to off����Ѥ��Ƥ���������