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

ÀüÀÌ Å×À̺í

FOR EACH ROW ¹× FOR EACH STATEMENT Æ®¸®°Å ¸ðµÎ¿¡¼­ ¿µÇâÀ» ¹ÞÀº Çà ÁýÇÕ Àüü¸¦ ÂüÁ¶ÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î Æ®¸®°Å ³»¿ë¿¡¼­ ¿µÇâÀ» ¹ÞÀº Çà ÁýÇÕ¿¡ ÃѰ踦 Àû¿ëÇØ¾ß ÇÏ´Â °æ¿ì(¿¹¸¦ µé¸é ÀϺΠÄ÷³ °ªÀÇ MAX, MIN ¶Ç´Â AVG)¿¡ ÇÊ¿äÇÕ´Ï´Ù. Æ®¸®°Å´Â CREATE TRIGGER¹®ÀÇ REFERENCINGÀý¿¡ ÁöÁ¤µÉ ¼ö ÀÖ´Â µÎ °³ÀÇ ÀüÀÌ º¯¼ö¸¦ »ç¿ëÇÏ¿© ¿µÇâÀ» ¹ÞÀº Çà ÁýÇÕÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀüÀ̺¯¼ö¿Í ¸¶Âù°¡Áö·Î µÎ Á¾·ùÀÇ ÀüÀÌ Å×À̺íÀÌ Àִµ¥, À̰ÍÀº OLD_TABLE°ú NEW_TABLE·Î ÁöÁ¤µÇ¸ç µÎ °¡Áö¸¦ ÇÕÇÏ¿© table-nameÀÌ µÇ´Âµ¥, ±× Àǹ̴ ´ÙÀ½°ú °°½À´Ï´Ù.

OLD_TABLE Å×À̺í À̸§
¿µÇâÀ» ¹ÞÀº Çà ÁýÇÕÀÇ ¿ø·¡ »óÅ Áï, Æ®¸®°Å¸µ SQL Á¶ÀÛÀÌ µ¥ÀÌÅͺ£À̽º¿¡ Àû¿ëµÇ±â ÀüÀÇ »óŸ¦ ĸÃÄÇÏ´Â Å×À̺í À̸§À» ÁöÁ¤ÇÕ´Ï´Ù.

NEW_TABLE Å×À̺í À̸§
Æ®¸®°Å Á¶Ä¡°¡ µ¥ÀÌÅͺ£À̽º¿¡ Àû¿ëµÉ ¶§ µ¥ÀÌÅͺ£À̽ºÀÇ ÇàÀ» °»½ÅÇϴµ¥ »ç¿ëµÇ´Â °ªÀ» ĸÃÄÇÏ´Â Å×À̺í À̸§À» ÁöÁ¤ÇÕ´Ï´Ù.

¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.

    CREATE TRIGGER REORDER
      AFTER UPDATE OF ON_HAND, MAX_STOCKED ON PARTS
      REFERENCING NEW_TABLE AS N_TABLE
      NEW AS N_ROW
      FOR EACH ROW MODE DB2SQL
      WHEN ((SELECT AVG (ON_HAND) FROM N_TABLE) > 35)
      BEGIN ATOMIC
        VALUES(INFORM_SUPERVISOR(N_ROW.PARTNO,
                                 N_ROW.MAX_STOCKED,
                                 N_ROW.ON_HAND));
      END

NEW_TABLEÀº FOR EACH ROW Æ®¸®°ÅÀÇ °æ¿ì¿¡µµ ¿ÏÀüÇÑ ÁýÇÕÀÇ °»½ÅµÈ ÇàÀ» Ç×»ó °¡Áö°í ÀÖÀ½¿¡ ÁÖÀÇÇϽʽÿÀ. Æ®¸®°Å°¡ Á¤ÀÇµÈ Å×ÀÌºí¿¡ Æ®¸®°Å°¡ ¼öÇàµÉ ¶§, NEW_TABLE¿¡´Â ÇØ´ç Æ®¸®°Å¸¦ Ȱ¼ºÈ­½ÃŲ ¸í·É¹®À¸·ÎºÎÅÍ º¯°æµÈ ÇàÀÌ µé¾î°©´Ï´Ù. ±×·¯³ª NEW_TABLE¿¡´Â Æ®¸®°Å ³»ºÎÀÇ ¸í·É¹®¿¡ ÀÇÇØ ¹ß»ýÇÑ º¯°æµÈ ÇàÀº µé¾î ÀÖÁö ¾ÊÀºµ¥, ±× ÀÌÀ¯´Â À̰ÍÀÌ Æ®¸®°ÅÀÇ º°µµ Ȱ¼ºÈ­¸¦ À¯¹ßÇϱ⠶§¹®ÀÔ´Ï´Ù.

ÀüÀÌ Å×À̺íÀº Àбâ Àü¿ëÀÔ´Ï´Ù. Æ®¸®°Å À̺¥Æ®¿¡ Á¤ÀÇµÉ ¼ö ÀÖ¾ú´ø ÀüÀÌ º¯¼öÀÇ Á¾·ù¸¦ Á¤ÀÇÇÏ´Â µ¿ÀÏÇÑ ±ÔÄ¢ÀÌ ÀüÀÌ Å×ÀÌºí¿¡µµ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

UPDATE
UPDATE Æ®¸®°Å´Â OLD_TABLE°ú NEW_TABLE ÀüÀÌ Å×À̺íÀ» ¸ðµÎ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.

INSERT
INSERT Æ®¸®°Å´Â NEW_TABLE ÀüÀÌ Å×ÀÌºí¸¸À» ÂüÁ¶ÇÒ ¼ö Àִµ¥, ÀÌ´Â INSERT Á¶ÀÛÀÇ È°¼ºÈ­ Àü¿¡ ¿µÇâÀ» ¹ÞÀº ÇàÀÌ µ¥ÀÌÅͺ£À̽º¿¡ Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. Áï Æ®¸®°Å Á¶Ä¡°¡ µ¥ÀÌÅͺ£À̽º¿¡ Àû¿ëµÇ±â ÀüÀÇ ¿À·¡µÈ °ªÀ» Á¤ÀÇÇÏ´Â ÇàÀÇ ¿ø·¡ »óŰ¡ ¾ø½À´Ï´Ù.

DELETE
DELETE Æ®¸®°Å´Â »èÁ¦ Á¶ÀÛ¿¡ ÁöÁ¤µÈ »õ·Î¿î °ªÀÌ ¾ø±â ¶§¹®¿¡, OLD ÀüÀÌ Å×ÀÌºí¸¸À» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÁÖ:ÀüÀÌ Å×À̺íÀ» AFTER Æ®¸®°ÅÀÇ µÎ °¡Áö ¼öÁØÀÎ FOR EACH ROW¿Í FOR EACH STATEMENT ¸ðµÎ¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº Áß¿äÇÕ´Ï´Ù.

OLD_TABLE°ú NEW_TABLE table-nameÀÇ ¹üÀ§´Â Æ®¸®°Å ³»¿ëÀÔ´Ï´Ù. ÀÌ ¹üÀ§¿¡¼­ ÀÌ À̸§Àº ½ºÅ°¸¶¿¡ ÀÖÀ» ¼öµµ ÀÖ´Â µ¿ÀÏÇÑ ¿ÏÀüÇÏÁö ¾ÊÀº table-nameÀ» °®´Â ´Ù¸¥ Å×À̺í À̸§º¸´Ù ¾Õ¼·´Ï´Ù. ±×·¯¹Ç·Î OLD_TABLEÀ̳ª NEW_TABLE table-nameÀÌ ¿¹¸¦ µé¾î XÀÎ °æ¿ì, SELECT¹®ÀÇ FROMÀýÀÇ X(Áï, ±ÔÁ¤µÇÁö ¾ÊÀº X)¿¡ ´ëÇÑ ÂüÁ¶´Â Æ®¸®°Å ÀÛ¼ºÀÚÀÇ ½ºÅ°¸¶ÀÇ X¶ó´Â À̸§ÀÇ Å×À̺íÀÌ À־ Ç×»ó ÀüÀÌ Å×À̺íÀ» ÂüÁ¶ÇÕ´Ï´Ù. ÀÌ °æ¿ì, »ç¿ëÀÚ´Â ½ºÅ°¸¶ÀÇ Å×À̺í X¸¦ ÂüÁ¶Çϱâ À§ÇØ ¿ÏÀüÇÑ À̸§À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.


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