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