¿âÀïÃæÓÐһЩ·½·¨ÊÇ"Òþ²Ø"µÄ£¬µ«ÊÇÓÐʱºòÕâЩ·½·¨¿ÉÄÜÌṩ·Ç³£ÓÐÓõÄÐÅÏ¢£®
×îÖØÒªµÄÒ»¸ö £¨ECPGdo£©£¨º¯Êý£©¼Ç¼ËüµÄËùÓÐÕ¹¿ªµÄ×Ö·û´®£¬Ò²¾ÍÊÇ˵£¬´øÓвåÈëµÄËùÓбäÁ¿µÄ×Ö·û´®ºÍ´ÓPostgres ·þÎñÆ÷À´µÄ½á¹û£®Õâ¸ö¶ÔËÑË÷ÄãµÄ SQL Óï¾äµÄ´íÎóÊǷdz£ÓÐÓõģ®
ECPGstatus() Õâ¸ö·½·¨/º¯ÊýÔÚÎÒÃÇÓëÒ»¸öÊý¾Ý¿âÁª½Óºó·µ»Ø TRUE ²¢ÇÒÈç¹ûûÓÐÁª½Ó·µ»Ø FALSE £®
exec sql include sqlca;µ½ÄãµÄÎļþµÄ°üº¬¶ÎÀÕâÑù×ö½«»á¶¨ÒåÒ»¸ö½á¹¹ºÍÒ»¸öÏóÏÂÃæÒ»ÑùÃûΪ sqlca µÄ±äÁ¿£º
struct sqlca
{
char sqlcaid[8];
long sqlabc;
long sqlcode;
struct
{
int sqlerrml;
char sqlerrmc[70];
} sqlerrm;
char sqlerrp[8];
long sqlerrd[6];
/* 0: empty */
/* 1: OID of processed tuple if applicable */
/* 2: number of rows processed in an INSERT, UPDATE */
/* or DELETE statement */
/* 3: empty */
/* 4: empty */
/* 5: empty */
char sqlwarn[8];
/* 0: set to 'W' if at least one other is 'W' */
/* 1: if 'W' at least one character string */
/* value was truncated when it was */
/* stored into a host variable. */
/* 2: empty */
/* 3: empty */
/* 4: empty */
/* 5: empty */
/* 6: empty */
/* 7: empty */
char sqlext[8];
} sqlca;
Èç¹û×îºóÒ»¸öSQL Óï¾ä·¢ÉúÁË´íÎó£¬ÄÇô sqlca.sqlcode
½«ÊÇ·ÇÁãÖµ£®Èç¹û sqlca.sqlcode СÓÚ 0 ÄÇô¾ÍÊÇ·¢ÉúÁËijÖÖÑÏÖØµÄ´íÎó£¬ÏóÊý¾Ý¿â¶¨ÒåÓë²éѯ¶¨Òå²»Ò»Öµȣ®Èç¹û´óÓÚ
0 ÔòÊÇͨ³£µÄ´íÎó£¬Ïó±í²»°üÀ¨ËùÒªÇóµÄÐеȣ®
sqlca.sqlerrm.sqlerrmc ½«°üº¬Ò»¸ö×Ö·û´®ÃèÊö¸Ã´íÎ󣮸Ã×Ö·û´®ÒÔÔ´ÎļþµÄÐкŽáβ¡£