¾È³çÇϼ¼¿ä?
´ÙÀ½°ú °°ÀÌ ÀڷḦ ÷ºÎÇÕ´Ï´Ù. 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");
}
|