[Æß] DB2¿¡µµ ¿À¶óŬó·³ ARRAY¸¦ Áö¿øÇÕ´Ï´Ù.
2008.07.15 16:28
http://tong.nate.com/mojilla/46097144
¾È³çÇϼ¼¿ä?

´ÙÀ½°ú °°ÀÌ ÀڷḦ ÷ºÎÇÕ´Ï´Ù.
Oracle°úÀÇ Â÷ÀÌÁ¡Àº Arrary¿¡ Insert½Ã
1. °Çº°·Î Çϴ³Ä
2. Arrayº°·Î Çϴ³Ä
ÇÏ´Â Coding»óÀÇ Â÷ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù.

Database FetchÇÏ´Â ¼º´É¿¡ À־´Â Block ´ÜÀ§·Î Åë½ÅÀ» ÇϹǷÎ
¼º´É»ó¿¡ Å« Â÷ÀÌ´Â ¾ø½À´Ï´Ù.


array_staff()
{

EXEC SQL BEGIN DECLARE SECTION ;

struct struct_staff
{
short id;
char name[9+1];
short dept;
char job[6+1];
short years;
double salary;
double comm;
} astaff;
EXEC SQL END DECLARE SECTION ;

typedef struct struct_staff STRUCT_STAFF;
STRUCT_STAFF ary_staff[100];

short inx=0;
short staff_sz;

staff_sz = sizeof(struct struct_staff);
printf("[%d]\n", staff_sz);

exec sql declare c1 cursor for
SELECT id, name FROM staff FOR FETCH ONLY;

exec sql open c1;

printf ("SQL CODE [%d]\n", SQLCODE);

while (1) {

exec sql fetch c1 into :astaff;

if (SQLCODE != 0) {
printf ("[%d]\n", sqlca.sqlcode);
break;
}

inx++;
memcpy(&ary_staff[inx], &astaff, staff_sz);

printf ("[%d][%s]\n", ary_staff[inx].id, ary_staff[inx].name);

}

exec sql close c1;
exec sql rollback;

printf("\n\n\n\n");

}

µ¡±Û
[0]
 |
¿«ÀαÛ
[0]
 |
°ø°¨
[0]
Ä£±¸¿¡°Ô ¾Ë¸®±â