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


SQL ÇÁ·Î½Ãµà¾î ¹× ¿ÜºÎ ÇÁ·Î½Ãµà¾î ºñ±³

¿ÜºÎ ÀúÀå ÇÁ·Î½Ãµà¾î Á¤ÀÇó·³ SQL ÇÁ·Î½Ãµà¾î Á¤ÀÇ´Â ´ÙÀ½°ú °°Àº Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

¿ÜºÎ ÀúÀå ÇÁ·Î½Ãµà¾îÀÇ CREATE PROCEDURE¹®°ú´Â ´Þ¸® SQL ÇÁ·Î½Ãµà¾îÀÇ CREATE PROCEDURE¹®Àº EXTERNALÀýÀ» ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å SQL ÇÁ·Î½Ãµà¾î¿¡´Â ÀúÀå ÇÁ·Î½Ãµà¾îÀÇ ¼Ò½º ¸í·É¹®ÀÌ µé¾î ÀÖ´Â ÇÁ·Î½Ãµà¾î º»¹®ÀÌ ÀÖ½À´Ï´Ù.

´ÙÀ½ ¿¹´Â´Ü¼øÇÑ ÀúÀå ÇÁ·Î½Ãµà¾îÀÇ CREATE PROCEDUR¹®À» º¸¿©ÁÝ´Ï´Ù. ÇÁ·Î½Ãµà¾î À̸§, ÇÁ·Î½Ãµà¾î¿Í ÁÖ°í ¹Þ´Â ¸Å°³º¯¼ö ¸ñ·Ï ±×¸®°í LANGUAGE ¸Å°³º¯¼ö´Â ¸ðµç ÀúÀå ÇÁ·Î½Ãµà¾î¿¡¼­ °øÅëÀÔ´Ï´Ù. ±×·¯³ª, ÇÁ·Î½Ãµà¾î º»¹®À» Çü¼ºÇÏ´Â SQLÀÇ LANGUAGE °ª°ú BEGIN...END ºí·ÏÀº SQL ÇÁ·Î½Ãµà¾î¿¡ °íÀ¯ÇÕ´Ï´Ù.

   CREATE PROCEDURE UPDATE_SALARY_1         (1)
   (IN EMPLOYEE_NUMBER CHAR(6),             (2)
   IN RATE INTEGER)                         (2)
   LANGUAGE SQL                             (3)
   BEGIN
      UPDATE EMPLOYEE                       (4)
      SET SALARY = SALARY * (1.0 * RATE / 100.0 )
      WHERE EMPNO = EMPLOYEE_NUMBER;
   END

ÀÌÀü ¿¹¿¡ ´ëÇÑ ÁÖ:
(1) ÀúÀå ÇÁ·Î½Ãµà¾î À̸§Àº UPDATE_SALARY_1ÀÔ´Ï´Ù.
(2) µÎ ¸Å°³º¯¼ö¿¡´Â CHAR(6)¿Í INTEGERÀÇ µ¥ÀÌÅÍ À¯ÇüÀÌ ÀÖ½À´Ï´Ù. µÑ´Ù ÀÔ·Â ¸Å°³º¯¼öÀÔ´Ï´Ù.
(3) LANGUAGE SQLÀº À̰ÍÀÌ SQL ÇÁ·Î½Ãµà¾îÀÓÀ» ³ªÅ¸³»¹Ç·Î ÇÁ·Î½Ãµà¾î º»¹®Àº ´Ù¸¥ ¸Å°³º¯¼ö¸¦ µû¸¨´Ï´Ù.
(4) ÇÁ·Î½Ãµà¾î º»¹®Àº Á÷¿ø Å×ÀÌºí¿¡¼­ ÇàÀ» °»½ÅÇÏ´Â ´ÜÀÏ SQL UPDATE¹®À¸·Î ±¸¼ºµË´Ï´Ù.

SL º»¹®¿¡¼­ OUT ¸Å°³º¯¼ö¸¦ Ç¥Çö½Ä¿¡ ÀÖ´Â °ªÀ¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¿À·ÎÁö ÁöÁ¤¹®À» »ç¿ëÇÏ¿© °ªÀ» OUT ¸Å°³º¯¼ö¿¡ ÁöÁ¤Çϰųª SELECT, VALUES ¹× FETCH¹®ÀÇ INTOÀý¿¡¼­ ¸ñÇ¥ º¯¼ö·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. IN ¸Å°³º¯¼ö¸¦ ÁöÁ¤ ¶Ç´Â INTOÀýÀÇ ¸ñÇ¥·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.


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