31.11. ¿¡·¯ÀÇ Ãë±Þ

º»Àý¿¡¼­´Â, ¸ÅÀÔ SQL ÇÁ·Î±×·¥¿¡ ´ëÇØ, ¿¹¿Ü Á¶°ÇÀ̳ª °æ°í¸¦ ¾î¶»°Ô Ãë±ÞÇÒ Áö¿¡ ´ëÇØ¼­ ¼³¸íÇÕ´Ï´Ù. À̸¦ À§ÇØ, ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Â º¹¼öÀÇ ±â´ÉÀÌ ÀÖ½À´Ï´Ù.

31.11.1. ÄݹéÀÇ ¼³Á¤

¿¡·¯³ª °æ°í¸¦ ¹Þ¾ÆµéÀÌ´Â °£´ÜÇÑ ¼ö¹ýÀÇ Çϳª´Â, ƯÁ¤ÀÇ Á¶°ÇÀÌ ¹ß»ýÇÒ ¶§¿¡ ƯÁ¤ÀÇ µ¿ÀÛÀ» ½ÇÇàÇϵµ·Ï ¼³Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î´Â ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.

EXEC SQL WHENEVER 
condition
 
action
;

condition ´Â ÀÌÇÏÀÇ ¾î´ÀÂÊÀ̵çÀ» ÃëÇÒ ¼ö ÀÖ½À´Ï´Ù.

SQLERROR

SQL¹®ÀÇ ½ÇÇàÁß¿¡ ¿¡·¯°¡ ¹ß»ýÇÒ ¶§¿¡, ÁöÁ¤ÇÑ µ¿ÀÛÀÌ ºÒ·Á °©´Ï´Ù.

SQLWARNING

SQL¹®ÀÇ ½ÇÇà Áß¿¡ °æ°í°¡ ¹ß»ýÇÒ ¶§¿¡, ÁöÁ¤ÇÑ µ¿ÀÛÀÌ ºÒ·Á °©´Ï´Ù.

NOT FOUND

SQL¹®ÀÌ 0ÇàÀ» ¹Þ°Å³ª, ȤÀº 0Çà¿¡ ¿µÇâÀ» ÁÙ ¶§, ÁöÁ¤ÇÑ µ¿ÀÛÀÌ ºÒ·Á °©´Ï´Ù (ÀÌ Á¶°ÇÀº ¿¡·¯°¡ ¾Æ´Õ´Ï´Ù¸¸, À̰ÍÀ» Ưº°È÷ Ãë±ÞÇÏ°í ½ÍÀº °æ¿ì°¡ ÀÖ½À´Ï´Ù).

action ´Â ÀÌÇÏÀÇ ¾î´ÀÂÊÀ̵çÀ» ÃëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

CONTINUE

À̰ÍÀº, È¿°úÀûÀ¸·Î ±× Á¶°ÇÀÌ ¹«½ÃµÇ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. À̰ÍÀÌ ±âº»°ªÀÔ´Ï´Ù.

GOTO label
GO TO label

ÁöÁ¤ÇÑ ¶óº§·Î À̵¿ÇÕ´Ï´Ù (CÀÇ goto¹®À» »ç¿ëÇÕ´Ï´Ù).

SQLPRINT

Ç¥ÁØ ¿¡·¯¿¡ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÕ´Ï´Ù. À̰ÍÀº, ´Ü¼øÇÑ ÇÁ·Î±×·¥À̳ª ÇÁ·ÎÅäŸÀÔ ÀÛ¼º½Ã¿¡ µµ¿òÀÌ µË´Ï´Ù. ¸Þ¼¼ÁöÀÇ ÀÚ¼¼ÇÑ °ÍÀº ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.

STOP

ÇÁ·Î±×·¥À» Á¾·á½ÃŰ´Â exit(1)¸¦ È£ÃâÇÕ´Ï´Ù.

DO BREAK

CÀÇ break¹®À» ½ÇÇàÇÕ´Ï´Ù. À̰ÍÀº ·çÇÁ³», ȤÀº switch¹®³»¿¡¼­¸¸ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

CALL name ( args )
DO name ( args )

ÀúÀåÇÑ ÀÎÀÚ·Î, ÁöÁ¤ÇÑ CÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.

Ç¥ÁØ SQL¿¡¼­´Â CONTINUE¿Í GOTO(¿ÍGO TO)¸¸À» Á¦°øÇϰí ÀÖ½À´Ï´Ù.

°£´ÜÇÑ ÇÁ·Î±×·¥À¸·Î »ç¿ëÇØ º¸°í ½ÍÀº ¿¹¸¦ ÀÌÇÏ¿¡ ³ªÅ¸³À´Ï´Ù. °æ°í°¡ ¹ß»ýÇßÀ» °æ¿ì¿¡ °£´ÜÇÑ ¸Þ¼¼Áö¸¦ Ç¥½ÃÇØ, ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì¿¡ ÇÁ·Î±×·¥À» Áß´ÜÇÕ´Ï´Ù.

EXEC SQL WHENEVER SQLWARNING SQLPRINT;
EXEC SQL WHENEVER SQLERROR STOP;

EXEC SQL WHENEVER¹®Àº CÀÇ ¹®ÀåÀº ¾Æ´Ï°í, SQL ÇÁ¸®ÇÁ·Î¼¼¼­ÀÇ Áö½Ã¹®ÀÔ´Ï´Ù. ¼³Á¤ÇÑ ¿¡·¯ ȤÀº °æ°í µ¿ÀÛÀº, ÃÖÃÊÀÇ EXEC SQL WHENEVER¿Í Á¶°ÇÀ» ¹ß»ý½ÃŲ SQL¹®ÀÇ »çÀÌ·Î, µ¿ÀÏ Á¶°Ç¿¡ ´Ù¸¥ µ¿ÀÛÀÌ ¼³Á¤µÇÁö ¾Ê´Â ÀÌ»ó Çڵ鷯¸¦ ¼³Á¤ÇÑ ½ÃÁ¡ ÀÌÈÄ¿¡ ÀÖ´Â, ¸ðµç ¸ÅÀÔ SQL¹®¿¡ Àû¿ëµË´Ï´Ù. CÇÁ·Î±×·¥ÀÇ Á¦¾î È帧Àº °ü°èÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, ÀÌÇÏÀÇ 2°³ÀÇ CÇÁ·Î±×·¥ÀÇ ¹ßÃé´Â ¾î´À ÂÊ¿¡¼­µµ ¹Ù¶ó´Â µ¿ÀÛÀ» ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.

/*
 * WRONG
 */
int main(int argc, char *argv[])
{
    ...
    if (verbose) {
        EXEC SQL WHENEVER SQLWARNING SQLPRINT;
    }
    ...
    EXEC SQL SELECT ...;
    ...
}

/*
 * WRONG
 */
int main(int argc, char *argv[])
{
    ...
    set_error_handler();
    ...
    EXEC SQL SELECT ...;
    ...
}

static void set_error_handler(void)
{
    EXEC SQL WHENEVER SQLERROR STOP;
}

31.11.2. sqlca

º¸´Ù °­·ÂÇÏ°Ô ¿¡·¯¸¦ Ãë±ÞÇϱâ À§Çؼ­, ¸ÅÀÔ SQL ÀÎÅÍÆäÀ̽º´Â ÀÌÇÏÀÇ ±¸Á¶¸¦ °¡Áö´Â sqlca¶ó´Â À̸§ÀÇ ±Û·Î¹ú º¯¼ö¸¦ Á¦°øÇÕ´Ï´Ù.

struct
{
    char sqlcaid[8];
    long sqlabc;
    long sqlcode;
    struct
    {
        int sqlerrml;
        char sqlerrmc[70];
    } sqlerrm;
    char sqlerrp[8];
    long sqlerrd[6];
    char sqlwarn[8];
    char sqlstate[5];
} sqlca;

(¸ÖƼ ¾²·¹µåÈ­ µÈ ÇÁ·Î±×·¥¿¡¼­´Â, °¢ ¾²·¹µå´Â ÀÚµ¿ÀûÀ¸·Î sqlcaÀÇ º¹»çº»¸¦ µ¶ÀÚÀûÀ¸·Î °¡Áý´Ï´Ù. À̰ÍÀº Ç¥ÁØ CÀÇ errno±Û·Î¹ú º¯¼öÀÇ Ãë±Þ°ú °°Àº µ¿ÀÛÀ» ÇÕ´Ï´Ù. )

sqlca´Â °æ°í¿Í ¿¡·¯ÀÇ ¾çÂÊ ¸ðµÎ¸¦ ´ë»óÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. 1°³ÀÇ ¹®ÀåÀÇ ½ÇÇà½Ã¿¡ º¹¼öÀÇ °æ°í³ª ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì sqlca´Â ¸¶Áö¸·ÀÇ °Í°ú °ü°èµÈ Á¤º¸¸¸À» Æ÷ÇÔÇÕ´Ï´Ù.

Á÷ÀüÀÇ SQL¹®À¸·Î ¿¡·¯°¡ ¾øÀ¸¸é, sqlca.sqlcode´Â 0¿¡, sqlca.sqlstate´Â "00000"ÀÌ µË´Ï´Ù. °æ°í³ª ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì´Â, sqlca.sqlcode´Â ºÎÀÇ °ª¿¡, sqlca.sqlstate´Â "00000"¿Í ´Ù¸£°Ô µË´Ï´Ù. Á¤ÀÇ sqlca.sqlcode´Â, Á÷ÀüÀÇ Äõ¸®°¡ 0ÇàÀ» µ¹·ÁÁÖ¾ú´Ù´Â µîÀÇ ¹«ÇØÀÎ Á¶°ÇÀ» ³ªÅ¸³À´Ï´Ù. sqlca.sqlcode¿Í sqlca.sqlstate´Â 2°³°¡ ´Ù¸¥ ¿¡·¯ ÄÚµå ½ºÅ°¸¶ÀÔ´Ï´Ù. ´ÙÀ½¿¡ »ó¼¼ÇÏ°Ô ¼³¸íÇÕ´Ï´Ù.

Á÷ÀüÀÇ SQL¹®ÀÌ ¼º°øÇϸé, sqlca.sqlerrd[1]Àº ó¸®µÈ ÇàÀÇ OID°¡ ÀúÀåµË´Ï´Ù. ¶Ç, ¸¸¾à ±× ¸í·ÉÀ¸·Î ÀûÀýÇϸé, sqlca.sqlerrd[2]´Â 󸮵È, ȤÀº µ¹·ÁÁÖ¾îÁø Çà¼ö°¡ ÀúÀåµË´Ï´Ù.

¿¡·¯ ȤÀº °æ°íÀÇ °æ¿ì, sqlca.sqlerrm.sqlerrmc¿¡´Â, ±× ¿¡·¯¸¦ ¼³¸íÇÏ´Â ¹®ÀÚ¿­ÀÌ ÀúÀåµË´Ï´Ù. sqlca.sqlerrm.sqlerrml Çʵ忡´Â sqlca.sqlerrm.sqlerrmc¿¡ ÀúÀåµÈ ¿¡·¯ ¸Þ¼¼Áö ±æÀ̰¡ ÀúÀåµË´Ï´Ù (strlen()ÀÇ °á°úÀÔ´Ï´Ù. ¾Æ¸¶ CÇÁ·Î±×·¡¸Ó´Â ÇÊ¿ä·Î ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù). ÀϺÎÀÇ ¸Þ¼¼Áö´Â °íÁ¤ ±æÀÌÀÇ sqlerrmc¹è¿­¿¡´Â ³Ê¹« ±ä °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÀÌ °æ¿ì´Â Àý¾àÇÒ ¼ö ÀÖ½À´Ï´Ù.

°æ°íÀÇ °æ¿ì, sqlca.sqlwarn[2]´Â W·Î ¼³Á¤µË´Ï´Ù (´Ù¸¥ ¸ðµç °æ¿ì¿¡¼­´Â, À̰ÍÀº W¿Í ´Ù¸£°Ô ¼³Á¤µË´Ï´Ù). sqlca.sqlwarn[1]ÀÌ W·Î ¼³Á¤µÇ¾úÀ» °æ¿ì, È£½ºÆ® º¯¼ö¿¡ ´ëÀÔÇÒ ¶§¿¡ °ªÀ» Àý¾àÇÒ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù. ´Ù¸¥ ¿ä¼Ò°¡ °æ°í¸¦ ³ªÅ¸³»µµ·Ï ¼³Á¤µÇ¾úÀ» °æ¿ì, sqlca.sqlwarn[0]Àº W·Î ¼³Á¤µË´Ï´Ù.

ÇöÀç, sqlcaid, sqlcabc, sqlerrp, ¹× sqlerrd¿Í sqlwarnÀÇ »ó±â ÀÌ¿ÜÀÇ ¿ä¼Ò´Â À¯¿ëÇÑ Á¤º¸¸¦ °¡ÁöÁö ¾Ê½À´Ï´Ù.

sqlca´Â Ç¥ÁØ SQL¿¡¼­´Â Á¤Àǵǰí ÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, º¹¼öÀÇ ´Ù¸¥ SQL µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀ¸·Î ±¸ÇöµÇ°í ÀÖ½À´Ï´Ù. ±× Á¤ÀÇ´Â ±âº» ºÎºÐÀº ºñ½ÁÇÏÁö¸¸, À̽ļºÀ» °¡Áö´Â ¾îÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ´Â °æ¿ì´Â ±¸ÇöÀÇ Â÷À̸¦ ÁÖÀÇÇØ Á¶»çÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

31.11.3. SQLSTATE ´ë SQLCODE

sqlca.sqlstate¿Í sqlca.sqlcode´Â ¿¡·¯ Äڵ带 Á¦°øÇÏ´Â ´Ù¸¥ 2°³ÀÇ ½ºÅ°¸¶ÀÔ´Ï´Ù. ¸ðµÎ Ç¥ÁØ SQL·ÎºÎÅÍ ÆÄ»ýµÈ °ÍÀÔ´Ï´Ù¸¸, SQLCODE´Â SQL-92ÆÇ¿¡¼­´Â ¾µ¸ð¾ø°Ô µÈ °ÍÀ¸·Î ¿©°ÜÁø ÀÌÈÄÀÇ ÆÇÀ¸·ÎºÎÅÍ »èÁ¦µÇ¾ú½À´Ï´Ù. µû¶ó¼­, ½Å±Ô ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â SQLSTATE¸¦ »ç¿ëÇÏ´Â °ÍÀ» °­ÇÏ°Ô ±ÇÇÕ´Ï´Ù.

SQLSTATE´Â 5 ¿ä¼ÒÀÇ ¹®ÀÚ ¹è¿­ÀÔ´Ï´Ù. ÀÌ 5 ¹®ÀÚ´Â, °¢Á¾ÀÇ ¿¡·¯ Á¶°Ç, °æ°í Á¶°ÇÀÇ Äڵ带 Ç¥ÇöÇÏ´Â ¼ýÀÚ, ´ë¹®ÀڷκÎÅÍ ±¸¼ºµË´Ï´Ù. SQLSTATE´Â °èÃþÀ» °¡Áø ½ºÅ°¸¶ÀÔ´Ï´Ù. ÃÖÃÊÀÇ 2 ¹®ÀÚ´Â Á¶°ÇÀ» ¹üÈ­ÇÑ Å¬·¡½º¸¦ ³ªÅ¸³», ³ª¸ÓÁö 3 ¹®ÀÚ´Â ¹üÈ­ Ŭ·¡½ºÀÇ ºÎŬ·¡½º¸¦ ³ªÅ¸³À´Ï´Ù. ¼º°ø »óÅ´ 00000À̶ó°í ÇÏ´Â ÄÚµå·Î ³ªÅ¸³³´Ï´Ù. SQLSTATEÄÚµåÀÇ ´ëºÎºÐÀº Ç¥ÁØ SQL·Î Á¤Àǵǰí ÀÖ½À´Ï´Ù. PostgreSQL¼­¹ö´Â º»ÁúÀûÀ¸·Î SQLSTATE¿¡·¯ Äڵ带 Áö¿øÇϰí ÀÖ½À´Ï´Ù. µû¶ó¼­, ¸ðµç ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ÀÌ ¿¡·¯ Äڵ带 »ç¿ëÇÏ´Â °ÍÀ¸·Î, °íµµÀÇ Àϰü¼ºÀ» ´Þ¼ºÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â Appendix AÀ» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÆóÁöµÈ ¿¡·¯ ÄÚµå ½ºÅ°¸¶ÀÎ SQLCODE´Â ´Ü¼øÇÑ Á¤¼öÀÔ´Ï´Ù. 0À̶ó°í ÇÏ´Â °ªÀº ¼º°øÀ» ÀǹÌÇØ, Á¤ÀÇ °ªÀº Ãß°¡ Á¤º¸¸¦ °¡Áø ¼º°øÀ», ºÎÀÇ °ªÀº ¿¡·¯¸¦ ³ªÅ¸³À´Ï´Ù. Ç¥ÁØ SQL¿¡¼­´Â, Á÷ÀüÀÇ ¸í·ÉÀÌ 0ÇàÀ» µ¹·ÁÁØ´Ù, ȤÀº 0Çà¿¡ ¿µÇâÀ» ÁØ °ÍÀ» ³ªÅ¸³»´Â 100À̶ó°í ÇÏ´Â °ª±îÁöÀÇ Á¤ÀÇ °ª¸¸À» Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ºÎÀÇ °ªÀº ±ÔÁ¤µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. µû¶ó¼­, ÀÌ ½ºÅ°¸¶¿¡¼­´Â ³·Àº À̽ļº ¹Û¿¡ ´Þ¼ºÇÏÁö ¸øÇϰí, ¶Ç, ÄÚµå ü°èµµ °èÃþÀ» °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. ¿ª»çÀûÀ¸·Î, PostgreSQLÀÇ ¸ÅÀÔ SQL ÇÁ·Î¼¼¼­¿¡´Â, ¸î °³ÀÇ Æ¯¼öÇÑ SQLCODEÀÇ °ªÀ» Àü¿ë¿¡ ÇÒ´çÇÒ ¼ö ÀÖ°í ÀÖ¾ú½À´Ï´Ù. ÀÌÇÏ¿¡, ±× ¼öÄ¡¿Í ±× »ó¡¸íÀÇ À϶÷À» ³ªÅ¸³À´Ï´Ù. À̰͵éÀº ´Ù¸¥ SQL ±¸Çö¿¡ÀÇ À̽ļºÀÌ ¾ø´Â °ÍÀ» ÀØÁö ¸»¾Æ ÁÖ¼¼¿ä. ¾îÇø®ÄÉÀ̼ÇÀÇ SQLSTATEschema¿¡ÀÇ ÀÌÇàÀ» °£ÀÌÈ­ Çϱâ À§Çؼ­, ´ëÀÀÇÏ´Â SQLSTATEµµ °¡¸®Å°°í ÀÖ½À´Ï´Ù. ±×·¯³ª, 2°³ÀÇ ½ºÅ°¸¶°£ÀÇ °ü°è´Â 1´ë 1Àº ¾Æ´Ï°í 1´ë ´ÙÀÔ´Ï´Ù (½ÇÁ¦´Â ´Ù´ë ´ÙÀÔ´Ï´Ù). ±×·¯¹Ç·Î, °æ¿ì ¸¶´Ù Appendix A¿¡ ³ªÅ¸³½ ±Û·Î¹úÀÎ °¢ SQLSTATE¸¦ ÂüÁ¶ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ÇÒ´çÀÌ ³¡³­ SQLCODEÀÔ´Ï´Ù.

-12 (ECPG_OUT_OF_MEMORY)

°¡»ó ¸Þ¸ð¸® ºÎÁ·À» ³ªÅ¸³À´Ï´Ù. (SQLSTATE YE001)

-200 (ECPG_UNSUPPORTED)

¶óÀ̺귯¸®°¡ ÆÄ¾ÇÇϰí ÀÖÁö ¾Ê´Â °ÍÀ» ÇÁ¸®ÇÁ·Î¼¼¼­°¡ »ý¼ºÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ¾Æ¸¶, ȣȯ¼ºÀÌ ¾ø´Â ÇÁ¸®ÇÁ·Î¼¼¼­¿Í ¶óÀ̺귯¸®ÀÇ ¹öÁ¯À» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. (SQLSTATE YE002)

-201 (ECPG_TOO_MANY_ARGUMENTS)

¸í·ÉÀÇ »óÁ¤º¸´Ù ¸¹Àº È£½ºÆ® º¯¼ö°¡ ÁöÁ¤µÈ °ÍÀ» ÀǹÌÇÕ´Ï´Ù. (SQLSTATE 07001ȤÀº 07002)

-202 (ECPG_TOO_FEW_ARGUMENTS)

¸í·ÉÀÇ »óÁ¤º¸´Ù ÀûÀº È£½ºÆ® º¯¼ö°¡ ÁöÁ¤µÈ °ÍÀ» ÀǹÌÇÕ´Ï´Ù. (SQLSTATE 07001ȤÀº 07002)

-203 (ECPG_TOO_MANY_MATCHES)

¹®Àǰ¡ º¹¼öÇàÀ» µ¹·ÁÁÖ¾úÁö¸¸, ¹®Àå¿¡¼­´Â 1°³ÀÇ °á°úÀÇ ÀúÀåÀÇ Áغñ¹Û¿¡ Çϰí ÀÖÁö ¾Ê¾Ò´ø °ÍÀ» ÀǹÌÇÕ´Ï´Ù (¿¹¸¦ µé¸é, ÁöÁ¤µÈ º¯¼ö°¡ ¹è¿­Àº ¾Æ´Ï¾ú´Ù). (SQLSTATE 21000)

-204 (ECPG_INT_FORMAT)

È£½ºÆ® º¯¼öÀÇ ÇüŰ¡ intÀÔ´Ï´Ù¸¸, µ¥ÀÌÅͺ£À̽º³»ÀÇ µ¥ÀÌÅÍÇüÀÌ ´Þ¶ó, ±× °ªÀ» int·Î¼­ ÇØ¼®ÇÒ ¼ö°¡ ¾ø¾ú½À´Ï´Ù. ¶óÀ̺귯¸®´Â ÀÌ º¯È¯¿¡ strtol()¸¦ »ç¿ëÇÕ´Ï´Ù. (SQLSTATE 42804)

-205 (ECPG_UINT_FORMAT)

È£½ºÆ® º¯¼öÀÇ ÇüŰ¡ unsigned intÀÔ´Ï´Ù¸¸, µ¥ÀÌÅͺ£À̽º³»ÀÇ µ¥ÀÌÅÍÇüÀÌ ´Þ¶ó, ±× °ªÀ» unsigned int·Î¼­ ÇØ¼®ÇÒ ¼ö°¡ ¾ø¾ú½À´Ï´Ù. ¶óÀ̺귯¸®´Â ÀÌ º¯È¯¿¡ strtoul()¸¦ »ç¿ëÇÕ´Ï´Ù. (SQLSTATE 42804)

-206 (ECPG_FLOAT_FORMAT)

È£½ºÆ® º¯¼öÀÇ ÇüŰ¡ floatÀÔ´Ï´Ù¸¸, µ¥ÀÌÅͺ£À̽º³»ÀÇ µ¥ÀÌÅÍÇüÀÌ ´Þ¶ó, ±× °ªÀ» float·Î¼­ ÇØ¼®ÇÒ ¼ö°¡ ¾ø¾ú½À´Ï´Ù. ¶óÀ̺귯¸®´Â ÀÌ º¯È¯¿¡ strtod()¸¦ »ç¿ëÇÕ´Ï´Ù. (SQLSTATE 42804)

-207 (ECPG_CONVERT_BOOL)

À̰ÍÀº, È£½ºÆ® º¯¼öÀÇ ÇüŰ¡ boolÀÔ´Ï´Ù¸¸, µ¥ÀÌÅͺ£À̽º³»ÀÇ µ¥ÀÌÅͰ¡ 't'µµ 'f'µµ ¾Æ´Ï¾ú´ø °ÍÀ» ÀǹÌÇÕ´Ï´Ù. (SQLSTATE 42804)

-208 (ECPG_EMPTY)

PostgreSQL¼­¹ö¿¡ ¼Û½ÅµÈ ¹®ÀåÀÌ ºñ¾ú½À´Ï´Ù (Åë»ó ¸ÅÀÔ SQL ÇÁ·Î±×·¥¿¡¼­´Â ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, À̰ÍÀº ³»ºÎ ¿¡·¯¸¦ ³ªÅ¸³»°í ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù). (SQLSTATE YE002)

-209 (ECPG_MISSING_INDICATOR)

NULL°ªÀÌ µ¹·ÁÁÖ¾îÁ³½À´Ï´Ù¸¸, NULL¿ëÀÇ Áö½ÃÀÚ º¯¼ö°¡ ÁÖ¾îÁö°í ÀÖÁö ¾Ê¾Ò½À´Ï´Ù. (SQLSTATE 22002)

-210 (ECPG_NO_ARRAY)

¹è¿­ÀÌ ÇÊ¿äÇÑ °³¼Ò¿¡ º¸Åë º¯¼ö°¡ »ç¿ëµÇ°í ÀÖ¾ú½À´Ï´Ù. (SQLSTATE 42804)

-211 (ECPG_DATA_NOT_ARRAY)

¹è¿­°ªÀ» ¿ä±¸Çߴµ¥ µ¥ÀÌÅͺ£À̽º°¡ º¸Åë º¯¼ö¸¦ µ¹·ÁÁÖ¾ú½À´Ï´Ù. (SQLSTATE 42804)

-220 (ECPG_NO_CONN)

Á¸ÀçÇÏÁö ¾Ê´Â Á¢¼Ó¿¡ ÇÁ·Î±×·¥ÀÌ Á¢¼ÓÇÏ·Á°í Çß½À´Ï´Ù.

-221 (ECPG_NOT_CONN)

Á¸ÀçÇÏÁö¸¸ ¿­·Á ÀÖÁö ¾ÊÀº Á¢¼Ó¿¡ ÇÁ·Î±×·¥ÀÌ Á¢¼ÓÇÏ·Á°í Çß½À´Ï´Ù (À̰ÍÀº ³»ºÎ ¿¡·¯ÀÔ´Ï´Ù). (SQLSTATE YE002)

-230 (ECPG_INVALID_STMT)

»ç¿ëÇÏ·Á°í ÇÑ ¹®ÀåÀÌ ÁغñµÇ¾î ÀÖÁö ¾Ê¾Ò½À´Ï´Ù. (SQLSTATE 26000)

-240 (ECPG_UNKNOWN_DESCRIPTOR)

ÁöÁ¤ÇÑ ±â¼ú¾î°¡ ¹ß°ßµÇÁö ¾Ê¾Ò½À´Ï´Ù. »ç¿ëÇÏ·Á°í ÇÑ ¹®ÀåÀº ÁغñµÇ¾î ÀÖÁö ¾Ê¾Ò½À´Ï´Ù. (SQLSTATE 33000)

-241 (ECPG_INVALID_DESCRIPTOR_INDEX)

±â¼ú¾îÀÇ À妽º°¡ ¹üÀ§ ¹ÛÀ̾ú½À´Ï´Ù. (SQLSTATE 07009)

-242 (ECPG_UNKNOWN_DESCRIPTOR_ITEM)

¹«È¿ÀÎ ±â¼ú¾î Ç׸ñÀÌ ¿ä±¸µÇ¾ú½À´Ï´Ù (À̰ÍÀº ³»ºÎ ¿¡·¯ÀÔ´Ï´Ù). (SQLSTATE YE002)

-243 (ECPG_VAR_NOT_NUMERIC)

µ¿ÀûÀÎ ¹®ÀåÀÇ ½ÇÇà½Ã¿¡ µ¥ÀÌÅͺ£À̽º°¡ ¼öÄ¡¸¦ µ¹·ÁÁÖ¾ú½À´Ï´Ù¸¸, È£½ºÆ® º¯¼ö°¡ ¼öÄ¡°¡ ¾Æ´Ï¾ú½À´Ï´Ù. (SQLSTATE 07006)

-244 (ECPG_VAR_NOT_CHAR)

µ¿ÀûÀÎ ¹®ÀåÀÇ ½ÇÇà½Ã¿¡ µ¥ÀÌÅͺ£À̽º°¡ ¼öÄ¡°¡ ¾Æ´Ñ °ÍÀ» µ¹·ÁÁÖ¾ú½À´Ï´Ù¸¸, È£½ºÆ® º¯¼ö°¡ ¼öÄ¡¿´½À´Ï´Ù. (SQLSTATE 07006)

-400 (ECPG_PGSQL)

PostgreSQL¼­¹ö·Î ¾î¶°ÇÑ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù. ÀÌ ¸Þ¼¼Áö´Â PostgreSQL¼­¹ö·ÎºÎÅÍÀÇ ¿¡·¯ ¸Þ¼¼Áö¸¦ Æ÷ÇÔÇÕ´Ï´Ù.

-401 (ECPG_TRANS)

PostgreSQL¼­¹ö°¡ Æ®·£Àè¼ÇÀÇ ¸ÓŶÀ̳ª ·Ñ¹é(rollback)¸¦ ½ÃÀÛÇÏÁö ¸øÇÏ´Â °ÍÀ» ÅëÁöÇß½À´Ï´Ù. (SQLSTATE 08007)

-402 (ECPG_CONNECT)

µ¥ÀÌÅͺ£À̽º¿¡ÀÇ Á¢¼Ó ½ÃÇà¿¡ ½ÇÆÐÇß½À´Ï´Ù.

100 (ECPG_NOT_FOUND)

Á÷ÀüÀÇ ¸í·ÉÀÌ 0ÇàÀ» µ¹·ÁÁØ, 0Çà¿¡ ¿µÇâÀ» ÁØ, Ä¿¼­ÀÇ Á¾´Ü¿¡ À̸£°Ô ÇÑ, ¹«ÇØÀÎ Á¶°ÇÀ» ³ªÅ¸³À´Ï´Ù. (SQLSTATE 02000)