Ȩ > ÀÚ·á½Ç > News Letter
 
Download
News Letter
Site Link
XpertMon ´º½º·¹ÅÍ 3È£
2007/03/22 10:11 10997


¾È³çÇϼ¼¿ä. DB2 ¹× XpertMon »ç¿ëÀÚ ¿©·¯ºÐ!
¢ß ¾ÆÀÌƼ¿¢½ºÆÛÆ®±×·ì DB »ç¾÷ºÎÀÔ´Ï´Ù.
À̹øÁÖ ´º½º·¹ÅÍ´Â V8.1 (Fixpak2 ÀÌ»ó) ¿¡ »õ·Î Ãß°¡µÈ SQL ¹®Àå Áß¿¡¼­ MERGE ¹®Àå¿¡
´ëÇؼ­ ´Ù·ç¾î º¸¾Ò½À´Ï´Ù.
¸¹Àº µµ¿òµÇ½Ã±æ ¹Ù¶ó¸ç, Ȥ½Ã¶óµµ ¾Ë°í ½ÍÀº ³»¿ëÀ̳ª ÁÖÁ¦°¡ ÀÖ´Ù¸é ¸ÞÀÏ·Î º¸³»ÁֽʽÿÀ.
ÂüÁ¶ÇÏ¿© ¹Ý¿µÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.



MERGE Statement
ÇÑ Å×ÀÌºí¿¡¼­ ´Ù¸¥ Å×À̺í·Î µ¥ÀÌÅ͸¦ ÇÕÄ¡°í ½ÍÀº °æ¿ì°¡ ÀÖÀ¸¼Ì½À´Ï±î?
ÀÌ·± °æ¿ì, ÀÌÀü±îÁö´Â ¾Æ¸¶µµ 2¹ø ÀÌ»ó SQL ¹®À» ½ÇÇà½ÃÅ°¼ÌÀ» ÅÙµ¥¿ä, DB2 UDB V8 FP2
ÀÌÈĺÎÅÍ´Â MERGE STATEMENT ¶õ ±â´ÉÀ¸·Î Çѹø¿¡ ½ÇÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù.
°£´ÜÈ÷ ¸»Çؼ­ ÇÑ Å×ÀÌºí¿¡¼­ ´Ù¸¥ Å×À̺í·Î µ¥ÀÌÅ͸¦ ÇÕÄ¥ ¼ö ÀÖ°Ô µÇ¾ú´Ù´Â °ÍÀÌÁÒ.
¾Æ·¡¿Í °°ÀÌ °£´ÜÇÑ ÁÖ¹® ½Ã½ºÅÛÀ» °¡Áö°í ¼³¸íµå¸®µµ·Ï ÇÏ°Ú½À´Ï´Ù.

TEST °³¿ä
  • DB : SAMPLE
  • Å×À̺í:
    1. total : Áö±Ý±îÁöÀÇ ¸ðµç ÁÖ¹®³»¿ªÀ» Æ÷ÇÔÇÏ´Â Å×À̺í
      • ID
      • À̸§
      • ¿ìÆí¹øÈ£
      • ÇØ´ç IDÀÇ °í°´ÀÌ ÁÖ¹®ÇÑ ÃÑ È½¼ö
      • ÃÑ ÁÖ¹® ¼ö·®
    2. daily : ÇϷ絿¾ÈÀÇ ÁÖ¹®³»¿ªÀ» ÀúÀåÇÏ´Â Å×À̺í
      • ID
      • À̸§
      • ¿ìÆí¹øÈ£
      • ÁÖ¹®¼ö·®
  • ¾÷¹«³»¿ë : daily Å×À̺íÀÇ ³»¿ëÀ» total Å×ÀÌºí¿¡ ÇÕÄ£´Ù.
    ¸¸¾à ID °¡ Á¸ÀçÇϸé, ÇØ´ç ID ¸¦ °®´Â °í°´ÀÇ Á¤º¸¸¦ Update ÇÏ°í, ID °¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é
    Total ¿¡ Insert¸¦ ÇÑ´Ù.
  • 󸮹æ¹ý : Merge ¹®ÀåÀ» »ç¿ë. daily Å×À̺í°ú total Å×ÀÌºí°£ÀÇ matching Ä÷³°ú
    non-matching Ä÷³¿¡ ±âÃÊÇؼ­ µ¿ÀÛÇÑ´Ù.
    ¸¸¾à Ä÷³ÀÌ ÀÏÄ¡ÇÑ´Ù¸é WHEN MATCHED THEN ÀÌÈÄÀÇ SQL ÀÌ ¼öÇàµÇ¸ç, ÀÏÄ¡ÇÏ´Â ³»¿ëÀÌ
    ¾ø´Ù¸é WHEN NOT MATCHED THEN ÀÌÈÄÀÇ SQL ÀÌ ¼öÇàµÈ´Ù.

TEST ¿¡ »ç¿ëÇÑ SQL
  • Å×ÀÌºí »ý¼º SQL
    create table total(id int,name char(10),zipcode char(10),num_of_trans int,amount decimal(6,2))
    create table daily (id int, name char(10), zipcode char(10), amount int)

  • µ¥ÀÌÅÍ ÀÔ·Â SQL
    insert into total values (1, ¡®Helen¡¯, ¡®123456¡¯, 3, 100.00)
    insert into total values (2, ¡®Fred¡¯, ¡®234567¡¯, 1, 20.00)
    insert into daily values (1, ¡®Helen¡¯, ¡®123456¡¯, 10.00)
    insert into daily values (3, ¡®Sue¡¯, ¡®987654¡¯, 50.00)

  • µ¥ÀÌÅÍ È®ÀÎ SQL
    select * from total
    ID NAME ZIPCODE NUM_OF_TRANS AMOUNT ---- ----------- ----------- --------------- ------- 1 Helen 123456 3 100.00 2 Fred 234567 1 20.00 select * from daily ID NAME ZIPCODE AMOUNT ---- ------------ --------- --------- 1 Helen 123456 10 3 Sue 987654 50
  • MERGE SQL
    ¸¸¾à ID Ä÷³ÀÌ ÀÏÄ¡ÇÑ´Ù¸é ÇØ´ç °í°´ÀÇ num_of_trans Ä÷³¿¡ ÁÖ¹®È½¼ö¸¦ Ãß°¡ÇÏ°í,
    ÁÖ¹®¼ö·®µµ Ãß°¡Çϸç, ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù¸é »õ·Î¿î ³»¿ëÀ» insert ÇÑ´Ù.

  • °á°ú Á¶È¸ SQL
    ID 1Àº Update, ID 3Àº Insert µÇ¾úÀ½À» º¼ ¼ö ÀÖ´Ù.
  • MERGE ÈÄ¿¡ ÀÌ Å×À̺íÀÇ ³»¿ëÀÌ ±×´ë·Î ³²¾ÆÀÖ´ÂÁö È®ÀÎÇϱâ À§ÇØ daily µµ select



    XpertMon for DB2 UDB V2
    DB »ç¾÷ºÎ
    Tel : 02-2108-1458
    Fax : 02-2108-1459
    Mobile : 011-896-6545
    E-mail : hjlee@iteg.co.kr
    URL : http://iteg.co.kr

¸ñ·Ï ±Û¾²±â ¼öÁ¤