»çÀü Á¤ÀÇÇÑ Æ¯Á¤ C ¹× C++ µ¥ÀÌÅÍ À¯ÇüÀº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ Ä÷³ À¯Çü¿¡ ÇØ´çÇÕ´Ï´Ù. ÀÌ·± C/C++ µ¥ÀÌÅÍ À¯Çü¸¸ È£½ºÆ® º¯¼ö·Î ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ç¥ 30´Â °¢ Ä÷³ À¯Çü¿¡ ÇØ´çÇÏ´Â C/C++ µ¥ÀÌÅÍ À¯ÇüÀ» ³ªÅ¸³À´Ï´Ù. »çÀü ó¸® ÄÄÆÄÀÏ·¯¿¡¼ È£½ºÆ® º¯¼ö ¼±¾ðÀ» ãÀ¸¸é ÇØ´ç SQL À¯Çü °ªÀ» ÆÇº°ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥¿¡¼ ÀÌ °ªÀ» »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥°ú ÀÚü¿¡¼ ±³È¯µÇ´Â µ¥ÀÌÅ͸¦ º¯È¯ÇÕ´Ï´Ù.
ÁÖ: | ¸ðµç DB2 È£½ºÆ® ¾ð¾î¿¡¼ DATALINK µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇÑ È£½ºÆ® º¯¼ö Áö¿øÀº ¾ø½À´Ï´Ù. |
Ç¥ 30. C/C++ ¼±¾ð¿¡ ¸ÊÇεǴ SQL µ¥ÀÌÅÍ À¯Çü
SQL Ä÷³ À¯Çü(TNTA1) | C/C++ µ¥ÀÌÅÍ À¯Çü | SQL Ä÷³ À¯Çü ¼³¸í | ||
---|---|---|---|---|
SMALLINT (500 ¶Ç´Â 501) |
short short int sqlint16 | ºÎÈ£ÀÖ´Â 16ºñÆ® Á¤¼ö | ||
INTEGER (496 ¶Ç´Â 497) |
long long int sqlint32(TNTA1A) | ºÎÈ£ÀÖ´Â 32ºñÆ® Á¤¼ö | ||
BIGINT (492 ¶Ç´Â 493) |
long long long __int64 sqlint64(TNTA1B) | ºÎÈ£ÀÖ´Â 64ºñÆ® Á¤¼ö | ||
REAL(TNTA2) (480 ¶Ç´Â 481) | float | ´ÜÁ¤¹Ð ºÎµ¿ ¼Ò¼öÁ¡ | ||
DOUBLE(TNTA3) (480 ¶Ç´Â 481) | double | ¹èÁ¤¹Ð ºÎµ¿ ¼Ò¼öÁ¡ | ||
DECIMAL(p,s) (484 ¶Ç´Â 485) | Á¤È®ÇÑ ÇØ´ç µ¥ÀÌÅÍ À¯Çü ¾øÀ½, double »ç¿ë | ÆÑµÈ 10Áø¼ö
CHAR ¹× DECIMAL ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¾ÐÃà ½ÊÁø¼ö Çʵ带 ¹®ÀÚ µ¥ÀÌÅÍ·Î Á¶ÀÛÇÒ °ÍÀ» °í·ÁÇϽʽÿÀ. | ||
CHAR(1) (452 ¶Ç´Â 453) | char | ´ÜÀÏ ¹®ÀÚ | ||
CHAR(n) (452 ¶Ç´Â 453) | Á¤È®ÇÑ ÇØ´ç µ¥ÀÌÅÍ À¯Çü ¾øÀ½,
char[n+1] »ç¿ë.
¿©±â¼ nÀº µ¥ÀÌÅ͸¦ À¯ÁöÇÒ¸¸Å ÃæºÐÈ÷ Å®´Ï´Ù.
| °íÁ¤ ±æÀÌ ¹®ÀÚ¿ | ||
VARCHAR(n) (448 ¶Ç´Â 449) |
struct tag { short int; char[n] } 1<=n<=32 672 | 2¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
¶Ç´Â char[n+1] »ç¿ë.
¿©±â¼ nÀº µ¥ÀÌÅ͸¦ À¯ÁöÇÒ ¸¸Å ÃæºÐÈ÷ Å®´Ï´Ù.
| ³Î·Î Á¾·áµÇ´Â º¯¼ö ±æÀÌ ¹®ÀÚ¿
| |||
LONG VARCHAR (456 ¶Ç´Â 457) |
struct tag { short int; char[n] } 32 673<=n<=32 700 | 2¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
CLOB(n) (408 ¶Ç´Â 409) |
sql type is clob(n) 1<=n<=2 147 483 647 | 4 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
CLOB À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö(TNTA4) (964 ¶Ç´Â 965) |
sql type is clob_locator | ¼¹öÀÇ CLOB ¿£ÅÍÆ¼¸¦ ½Äº°ÇÕ´Ï´Ù. | ||
CLOB ÆÄÀÏ ÂüÁ¶ º¯¼ö(TNTA4) (920 ¶Ç´Â 921) |
sql type is clob_file | CLOB µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀÇ ¼³¸íÀÚ | ||
BLOB(n) (404 ¶Ç´Â 405) |
sql type is blob(n) 1<=n<=2 147 483 647 | 4 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ 2Áø ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
BLOB À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö(TNTA4) (960 ¶Ç´Â 961) |
sql type is blob_locator | ¼¹öÀÇ BLOB ¿£ÅÍÆ¼¸¦ ½Äº°ÇÕ´Ï´Ù. | ||
BLOB ÆÄÀÏ ÂüÁ¶ º¯¼ö(TNTA4) (916 ¶Ç´Â 917) |
sql type is blob_file | BLOB µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀÇ ¼³¸íÀÚ | ||
DATE (384 ¶Ç´Â 385) | ³Î·Î Á¾·áµÇ´Â ¹®ÀÚ ¾ç½Ä | ³Î Á¾·á±â¸¦ ¼ö¿ëÇϵµ·Ï Àû¾îµµ 11 ¹®ÀÚ¸¦ Çã¿ëÇÕ´Ï´Ù. | ||
VARCHAR ±¸Á¶ ¾ç½Ä | Àû¾îµµ 10 ¹®ÀÚ¸¦ Çã¿ëÇÕ´Ï´Ù. | |||
TIME (388 ¶Ç´Â 389) | ³Î·Î Á¾·áµÇ´Â ¹®ÀÚ ¾ç½Ä | ³Î Á¾·á±â¸¦ ¼ö¿ëÇϵµ·Ï Àû¾îµµ 9 ¹®ÀÚ¸¦ Çã¿ëÇÕ´Ï´Ù. | ||
VARCHAR ±¸Á¶ ¾ç½Ä | Àû¾îµµ 8 ¹®ÀÚ¸¦ Çã¿ëÇÕ´Ï´Ù. | |||
TIMESTAMP (392 ¶Ç´Â 393) | ³Î·Î Á¾·áµÇ´Â ¹®ÀÚ ¾ç½Ä | ³Î Á¾·á±â¸¦ ¼ö¿ëÇϵµ·Ï Àû¾îµµ 27 ¹®ÀÚ¸¦ Çã¿ëÇÕ´Ï´Ù. | ||
VARCHAR ±¸Á¶ ¾ç½Ä | Àû¾îµµ 26 ¹®ÀÚ¸¦ Çã¿ëÇÕ´Ï´Ù. | |||
| ||||
GRAPHIC(1) (468 ¶Ç´Â 469) | sqldbchar | ´ÜÀÏ 2 ¹ÙÀÌÆ® ¹®ÀÚ | ||
GRAPHIC(n) (468 ¶Ç´Â 469) | Á¤È®ÇÑ ÇØ´ç µ¥ÀÌÅÍ À¯Çü ¾øÀ½,
sqldbchar[n+1] »ç¿ë.
¿©±â¼ nÀº µ¥ÀÌÅ͸¦ À¯ÁöÇÒ¸¸Å ÃæºÐÈ÷ Å®´Ï´Ù.
| °íÁ¤ ±æÀÌ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿ | ||
VARGRAPHIC(n) (464 ¶Ç´Â 465) |
struct tag { short int; sqldbchar[n] } 1<=n<=16 336 | 2 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
¶Ç´Â sqldbchar[n+1] »ç¿ë.
¿©±â¼ nÀº µ¥ÀÌÅ͸¦ À¯ÁöÇÒ¸¸Å ÃæºÐÈ÷ Å®´Ï´Ù.
| ³Î·Î Á¾·áµÇ´Â º¯¼ö ±æÀÌ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿
| |||
LONG VARGRAPHIC (472 ¶Ç´Â 473) |
struct tag { short int; sqldbchar[n] } 16 337<=n<=16 350 | 2 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
| ||||
GRAPHIC(1) (468 ¶Ç´Â 469) | wchar_t |
| ||
GRAPHIC(n) (468 ¶Ç´Â 469) | Á¤È®ÇÑ ÇØ´ç µ¥ÀÌÅÍ À¯Çü ¾øÀ½,
wchar_t [n+1] »ç¿ë.
¿©±â¼ nÀº µ¥ÀÌÅ͸¦ À¯ÁöÇÒ¸¸Å ÃæºÐÈ÷ Å®´Ï´Ù.
| °íÁ¤ ±æÀÌ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿ | ||
VARGRAPHIC(n) (464 ¶Ç´Â 465) |
struct tag { short int; wchar_t [n] } 1<=n<=16 336 | 2 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
¶Ç´Â char[n+1] »ç¿ë.
¿©±â¼ nÀº µ¥ÀÌÅ͸¦ À¯ÁöÇÒ¸¸Å ÃæºÐÈ÷ Å®´Ï´Ù.
| ³Î·Î Á¾·áµÇ´Â º¯¼ö ±æÀÌ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿
| |||
LONG VARGRAPHIC (472 ¶Ç´Â 473) |
struct tag { short int; wchar_t [n] } 16 337<=n<=16 350 | 2 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
| ||||
DBCLOB(n) (412 ¶Ç´Â 413) |
sql type is dbclob(n) 1<=n<=1 073 741 823 | 4 ¹ÙÀÌÆ® ¹®ÀÚ¿ ±æÀÌ Ç¥½Ã±â¸¦ Æ÷ÇÔÇÏ¸ç ³Î·Î Á¾·áµÇ´Â °¡º¯ 2 ¹ÙÀÌÆ® ¹®ÀÚ¿Àº ¾ø½À´Ï´Ù. | ||
DBCLOB À§Ä¡ ÁöÁ¤ÀÚ º¯¼ö(TNTA4) (968 ¶Ç´Â 969) |
sql type is dbclob_locator | ¼¹öÀÇ DBCLOB ¿£ÅÍÆ¼¸¦ ½Äº°ÇÕ´Ï´Ù. | ||
DBCLOB ÆÄÀÏ ÂüÁ¶ º¯¼ö(TNTA4) (924 ¶Ç´Â 925) |
sql type is dbclob_file | DBCLOB µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀÇ ¼³¸íÀÚ | ||
ÁÖ:
|
´ÙÀ½Àº Áö¿øµÇ´Â SQL µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇØ ¼±¾ðµÈ È£½ºÆ® º¯¼ö¸¦ Æ÷ÇÔÇÑ »ùÇà SQL ¼±¾ð ÀýÀÔ´Ï´Ù.
EXEC SQL BEGIN DECLARE SECTION;
·
·
·
short age = 26; /* SQL type 500 */ short year; /* SQL type 500 */ sqlint32 salary; /* SQL type 496 */ sqlint32 deptno; /* SQL type 496 */ float bonus; /* SQL type 480 */ double wage; /* SQL type 480 */ char mi; /* SQL type 452 */ char name[6]; /* SQL type 460 */ struct { short len; char data[24]; } address; /* SQL type 448 */ struct { short len; char data[32695]; } voice; /* SQL type 456 */ sql type is clob(1m) chapter; /* SQL type 408 */ sql type is clob_locator chapter_locator; /* SQL type 964 */ sql type is clob_file chapter_file_ref; /* SQL type 920 */ sql type is blob(1m) video; /* SQL type 404 */ sql type is blob_locator video_locator; /* SQL type 960 */ sql type is blob_file video_file_ref; /* SQL type 916 */ sql type is dbclob(1m) tokyo_phone_dir; /* SQL type 412 */ sql type is dbclob_locator tokyo_phone_dir_lctr; /* SQL type 968 */ sql type is dbclob_file tokyo_phone_dir_flref; /* SQL type 924 */ struct { short len; sqldbchar data[100]; } vargraphic1; /* SQL type 464 */ /* Precompiled with WCHARTYPE NOCONVERT option */ struct { short len; wchar_t data[100]; } vargraphic2; /* SQL type 464 */ /* Precompiled with WCHARTYPE CONVERT option */ struct { short len; sqldbchar data[10000]; } long_vargraphic1; /* SQL type 472 */ /* Precompiled with WCHARTYPE NOCONVERT option */ struct { short len; wchar_t data[10000]; } long_vargraphic2; /* SQL type 472 */ /* Precompiled with WCHARTYPE CONVERT option */ sqldbchar graphic1[100]; /* SQL type 468 */ /* Precompiled with WCHARTYPE NOCONVERT option */ wchar_t graphic2[100]; /* SQL type 468 */ /* Precompiled with WCHARTYPE CONVERT option */ char date[11]; /* SQL type 384 */ char time[9]; /* SQL type 388 */ char timestamp[27]; /* SQL type 392 */ short wage_ind; /* Null indicator */
·
·
·
EXEC SQL END DECLARE SECTION;
´ÙÀ½Àº Áö¿øµÇ´Â C/C++ µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇÑ Ãß°¡ ±ÔÄ¢ÀÔ´Ï´Ù.
Ç¥ÁØ C ¶Ç´Â C++ ¹®ÀÚ¿ À¯Çü 460Àº 2Áø µ¥ÀÌÅÍ¿ëÀ¸·Î ÁöÁ¤µÈ Ä÷³¿¡ »ç¿ëÇØ¼± ¾ÈµË´Ï´Ù. ³Î ¹®ÀÚ°¡ ³ªÅ¸³ª¸é µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥¿¡¼ ÀÌ µ¥ÀÌÅÍ À¯ÇüÀ» Àý´ÜÇÕ´Ï´Ù. VARCHAR(SQL À¯Çü 448) ¶Ç´Â CLOB(SQL À¯Çü 408) ±¸Á¶¸¦ »ç¿ëÇϽʽÿÀ.