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

È£½ºÆ® ¾ð¾î¿¡¼­ÀÇ Embedding SQL¹®

È£½ºÆ® ¾ð¾î ¾È¿¡ Æ÷ÇÔµÈ SQL¹®À¸·Î ÀÀ¿ëÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. SQL¹®Àº µ¥ÀÌÅͺ£À̽º ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â ¹Ý¸é, È£½ºÆ® ¾ð¾î´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â µ¥ ÇÊ¿äÇÑ ³ª¸ÓÁö Áö¿øÀ» Á¦°øÇÕ´Ï´Ù.

Ç¥ 2¿¡´Â È£½ºÆ® ¾ð¾î ÀÀ¿ëÇÁ·Î±×·¥¿¡ ³»Æ÷µÈ SQL¹®ÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¿¹¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥Àº SQLCA ±¸Á¶ÀÇ SQLCODE Çʵ带 Á¡°ËÇÏ¿© °»½ÅÀÌ ¼º°øÇß´ÂÁö¸¦ °áÁ¤ÇÕ´Ï´Ù.

Ç¥ 2. È£½ºÆ® ¾ð¾î¿¡¼­ÀÇ Embedding SQL¹®
¾ð¾î »ùÇà ¼Ò½º ÄÚµå
C/C++
  EXEC SQL UPDATE staff SET job = 'Clerk' WHERE job = 'Mgr';
 if ( SQLCODE < 0 )
    printf( "Update Error:  SQLCODE = %ld \n", SQLCODE );

Java (SQLJ)
  try {
    #sql { UPDATE staff SET job = 'Clerk' WHERE job = 'Mgr' };
 }
 catch (SQLException e) {
    println( "Update Error:  SQLCODE = " + e.getErrorCode() );
 }

COBOL
EXEC SQL UPDATE staff SET job = 'Clerk' WHERE job = 'Mgr' END_EXEC.
 IF SQLCODE LESS THAN 0
    DISPLAY 'UPDATE ERROR:  SQLCODE = ', SQLCODE.

FORTRAN
 EXEC SQL UPDATE staff SET job = 'Clerk' WHERE job = 'Mgr'
 if ( sqlcode .lt. 0 ) THEN
    write(*,*) 'Update error:  sqlcode = ', sqlcode

ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÖ´Â SQL¹®Àº È£½ºÆ® ¾ð¾î¸¶´Ù ´Ù¸£Áö ¾Ê½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº È£½ºÆ® ¾ð¾î¿¡ ÀÇÇØ 󸮵Ǵ SQL ±¸¹® º¯È¯ ¹æ½ÄÀ» Á¦°øÇÕ´Ï´Ù.

C, C++, COBOL ¶Ç´Â FORTRAN ¾ð¾îÀÇ °æ¿ì, ÀÌ·¯ÇÑ º¯È¯Àº DB2 »çÀü ó¸® ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ 󸮵˴ϴÙ. DB2 »çÀü ó¸® ÄÄÆÄÀÏ·¯´Â PREP ¸í·ÉÀ» »ç¿ëÇÏ¿© È£ÃâµË´Ï´Ù. »çÀü ó¸® ÄÄÆÄÀÏ·¯´Â Embedded SQL¹®À» Á÷Á¢ DB2 ·±Å¸ÀÓ ¼­ºñ½º API È£Ãâ·Î º¯È¯½Ãŵ´Ï´Ù.

Java ¾ð¾îÀÇ °æ¿ì SQLJ º¯È¯±â´Â SQLJÀýÀ» JDBC¹®À¸·Î º¯È¯ÇÕ´Ï´Ù. SQLJ º¯È¯±â´Â SQLJ ¸í·ÉÀ¸·Î È£ÃâÇÕ´Ï´Ù.

»çÀü ó¸® ÄÄÆÄÀÏ·¯°¡ ¼Ò½º ÆÄÀÏÀ» ó¸®ÇÒ ¶§ SQL¹®À» °Ë»öÇÏ°í ºñ-SQL È£½ºÆ® ¾ð¾î¸¦ »ï°¡ÇÕ´Ï´Ù. SQL¹®Àº Ư¼ö ºÐ¸®¹®ÀÚ¿¡ ÀÇÇØ µÑ·¯½Î¿© ÀÖÀ¸¹Ç·Î ½±°Ô ãÀ» ¼ö ÀÖ½À´Ï´Ù. »ç¿ë ÁßÀÎ ¾ð¾î·Î SQL¹®À» ³»Æ÷½ÃŰ´Â µ¥ ÇÊ¿äÇÑ ±¸¹® Á¤º¸´Â ´ÙÀ½À» º¸½Ê½Ã¿À.

Ç¥ 3¿¡´Â Áö¿øµÇ´Â ÄÄÆÄÀÏ È£½ºÆ® ¾ð¾î·Î À¯È¿ÇÑ Embedded SQL¹®À» ÀÛ¼ºÇϱâ À§ÇØ ºÐ¸®¹®ÀÚ ¹× ÁÖ¼®À» »ç¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù.

Ç¥ 3. È£½ºÆ® ¾ð¾î¿¡¼­ÀÇ Embedding SQL¹®
¾ð¾î »ùÇà ¼Ò½º ÄÚµå
C/C++
  /* Only C or C++ comments allowed here */
      EXEC SQL
     -- SQL comments or
    /* C comments or */
    // C++ comments allowed here
    DECLARE C1 CURSOR FOR sname;
 /* Only C or C++ comments allowed here */

SQLJ
 /* Only Java comments allowed here */
 #sql c1 = {
    -- SQL comments or
    /* Java comments or */
    // Java comments allowed here
    SELECT name FROM employee
 };
 /* Only Java comments allowed here */

COBOL
 * See COBOL documentation for comment rules
 * Only COBOL comments are allowed here
  EXEC SQL
     -- SQL comments or
 *   full-line COBOL comments are allowed here
     DECLARE C1 CURSOR FOR sname END-EXEC.
 * Only COBOL comments are allowed here

FORTRAN
C     Only FORTRAN comments are allowed here
      EXEC SQL
     + -- SQL comments, and
C     full-line FORTRAN comment are allowed here
     + DECLARE C1 CURSOR FOR sname
      I=7 ! End of line FORTRAN comments allowed here
C     Only FORTRAN comments are allowed here


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