ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­

È£½ºÆ® º¯¼ö »ç¿ë

È£½ºÆ® º¯¼ö´Â Embedded SQL¹®¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â º¯¼öÀÔ´Ï´Ù. À̵éÀº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥°ú ÀÀ¿ëÇÁ·Î±×·¥ »çÀÌÀÇ µ¥ÀÌÅ͸¦ Àü¼ÛÇÕ´Ï´Ù. SQL¹®¿¡¼­ È£½ºÆ® º¯¼ö¸¦ »ç¿ëÇÒ ¶§ Äݷаú ÇÔ²² À̸§À¸·Î Á¢µÎºÎ¸¦ ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù(¿¹. :). È£½ºÆ® ¾ð¾î ¸í·É¹®¿¡¼­ È£½ºÆ® º¯¼ö¸¦ »ç¿ëÇÒ ¶§¿¡´Â ÄÝ·ÐÀ» »ý·«ÇϽʽÿÀ.

È£½ºÆ® º¯¼ö´Â ÄÄÆÄÀÏµÈ È£½ºÆ® ¾ð¾î·Î ¼±¾ðµÇ°í, BEGIN DECLARE SECTION¹® ¹× END DECLARE SECTION¹®À¸·Î ºÐ¸®µË´Ï´Ù. ÀÌ·¯ÇÑ ¸í·É¹®À» ÀÌ¿ëÇÏ¿© »çÀü ó¸® ÄÄÆÄÀÏ·¯°¡ ¼±¾ð¹®À» ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÁÖ:Java JDBC ¹× SQLJ ÇÁ·Î±×·¥Àº ¼±¾ð ÀýÀ» »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. Java¾î·Î µÈ È£½ºÆ® º¯¼ö´Â ÀϹÝÀûÀÎ Java º¯¼ö ¼±¾ð ±¸¹®À» µû¸¨´Ï´Ù.

È£½ºÆ® º¯¼ö´Â È£½ºÆ® ¾ð¾îÀÇ ºÎ¼Ó ÁýÇÕÀ» »ç¿ëÇÏ¿© ¼±¾ðµË´Ï´Ù. »ç¿ëÀÚÀÇ È£½ºÆ® ¾ð¾î¿¡ ´ëÇÑ Áö¿ø ±¸¹®¿¡ ´ëÇÑ ¼³¸íÀº ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.

´ÙÀ½ ±ÔÄ¢Àº È£½ºÆ® º¯¼ö ¼±¾ð Àý¿¡ Àû¿ëµË´Ï´Ù.

È£½ºÆ® º¯¼ö ¼±¾ð¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.

¼±¾ð »ý¼º±â - db2dclgn

Declaration Generator´Â µ¥ÀÌÅͺ£À̽º¿¡ Á¦°øµÈ Å×ÀÌºí¿¡ ´ëÇØ ¼±¾ð¹®À» »ý¼ºÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥ °³¹ßÀ» °¡¼ÓÈ­ÇÕ´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â »ç¿ëÀÚ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ½±°Ô »ðÀÔÇÒ ¼ö ÀÖ´Â Embedded SQL ¼±¾ð¹® ¼Ò½º ÆÄÀÏÀ» ÀÛ¼ºÇÕ´Ï´Ù. db2dclgnÀº C/C++, Java, COBOL ¹× FORTRAN ¾ð¾î¸¦ Áö¿øÇÕ´Ï´Ù.

¼±¾ð ÆÄÀÏÀ» »ý¼ºÇÏ·Á¸é ´ÙÀ½ Çü½ÄÀ¸·Î db2dclgn ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ.

db2dclgn -d database-name -t table-name
[options]

¿¹¸¦ µé¾î, staff.h Ãâ·Â ÆÄÀÏ¿¡¼­ C·Î µÈ SAMPLE µ¥ÀÌÅͺ£À̽º¿¡ STAFF Å×ÀÌºí¿¡ ´ëÇÑ ¼±¾ð¹®À» »ý¼ºÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» ¹ßÇàÇϽʽÿÀ.

db2dclgn -d sample -t staff -l C

°á°ú staff.h ÆÄÀÏ¿¡´Â ´ÙÀ½ÀÌ Æ÷ÇԵ˴ϴÙ.

     struct
     {
       short id;
       struct
       {
         short length;
         char data[9];
       } name;
       short dept;
       char job[5];
       short years;
       double salary;
       double comm;
     } staff;

db2dclgn¿¡¼­ ÀÚ¼¼ÇÑ Á¤º¸´Â Command Reference¸¦ ÂüÁ¶ÇϽʽÿÀ.

Ç¥ 4. È£½ºÆ® º¯¼ö ¼±¾ð
¾ð¾î ¿¹Á¦ ¼Ò½º ÄÚµå
C/C++
EXEC SQL BEGIN DECLARE SECTION;
  short     dept=38, age=26;
  double    salary;
  char      CH;
  char      name1[9], NAME2[9];
  /* C comment */
  short     nul_ind;
EXEC SQL END DECLARE SECTION;

Java
// Note that Java host variable declarations follow
// normal Java variable declaration rules, and have
// no equivalent of a DECLARE SECTION
  short     dept=38, age=26;
  double    salary;
  char      CH;
  String    name1[9], NAME2[9];
  /* Java comment */
  short     nul_ind;

COBOL
 EXEC SQL BEGIN DECLARE SECTION END-EXEC.
   01 age        PIC S9(4) COMP-5 VALUE 26.
   01 DEPT       PIC S9(9) COMP-5 VALUE 38.
   01 salary     PIC S9(6)V9(3) COMP-3.
   01 CH         PIC X(1).
   01 name1      PIC X(8).
   01 NAME2      PIC X(8).
*  COBOL comment
   01 nul-ind    PIC S9(4) COMP-5.
 EXEC SQL END DECLARE SECTION END-EXEC.

FORTRAN
       EXEC SQL BEGIN DECLARE SECTION
         integer*2     age   /26/
         integer*4     dept  /38/
         real*8        salary
         character     ch
         character*8   name1,NAME2
C        FORTRAN comment
         integer*2     nul_ind
       EXEC SQL END DECLARE SECTION


Ç¥ 5. È£½ºÆ® º¯¼ö ÂüÁ¶
¾ð¾î ¿¹Á¦ ¼Ò½º ÄÚµå
C/C++
EXEC SQL FETCH C1 INTO :cm;
printf( "Commission = %f\n", cm );

JAVA (SQLJ)
#SQL { FETCH :c1 INTO :cm };
System.out.println("Commission = " + cm);

COBOL
EXEC SQL FETCH C1 INTO :cm END-EXEC
DISPLAY 'Commission = ' cm

FORTRAN
EXEC SQL FETCH C1 INTO :cm
WRITE(*,*) 'Commission = ', cm


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]