¾È³çÇϼ¼¿ä. DB2 ¹× XpertMon »ç¿ëÀÚ ¿©·¯ºÐ!
¢ß ¾ÆÀÌƼ¿¢½ºÆÛÆ®±×·ì DB »ç¾÷ºÎÀÔ´Ï´Ù.
À̹øÁÖ ´º½º·¹ÅÍ´Â V8.1 (Fixpak2 ÀÌ»ó) ¿¡ »õ·Î Ãß°¡µÈ SQL ¹®Àå Áß¿¡¼ MERGE ¹®Àå¿¡
´ëÇؼ ´Ù·ç¾î º¸¾Ò½À´Ï´Ù.
¸¹Àº µµ¿òµÇ½Ã±æ ¹Ù¶ó¸ç, Ȥ½Ã¶óµµ ¾Ë°í ½ÍÀº ³»¿ëÀ̳ª ÁÖÁ¦°¡ ÀÖ´Ù¸é ¸ÞÀÏ·Î º¸³»ÁֽʽÿÀ.
ÂüÁ¶ÇÏ¿© ¹Ý¿µÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
MERGE Statement
ÇÑ Å×ÀÌºí¿¡¼ ´Ù¸¥ Å×À̺í·Î µ¥ÀÌÅ͸¦ ÇÕÄ¡°í ½ÍÀº °æ¿ì°¡ ÀÖÀ¸¼Ì½À´Ï±î?
ÀÌ·± °æ¿ì, ÀÌÀü±îÁö´Â ¾Æ¸¶µµ 2¹ø ÀÌ»ó SQL ¹®À» ½ÇÇà½ÃÅ°¼ÌÀ» ÅÙµ¥¿ä, DB2 UDB V8 FP2
ÀÌÈĺÎÅÍ´Â MERGE STATEMENT ¶õ ±â´ÉÀ¸·Î Çѹø¿¡ ½ÇÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù.
°£´ÜÈ÷ ¸»Çؼ ÇÑ Å×ÀÌºí¿¡¼ ´Ù¸¥ Å×À̺í·Î µ¥ÀÌÅ͸¦ ÇÕÄ¥ ¼ö ÀÖ°Ô µÇ¾ú´Ù´Â °ÍÀÌÁÒ.
¾Æ·¡¿Í °°ÀÌ °£´ÜÇÑ ÁÖ¹® ½Ã½ºÅÛÀ» °¡Áö°í ¼³¸íµå¸®µµ·Ï ÇÏ°Ú½À´Ï´Ù.
TEST °³¿ä
- DB : SAMPLE
- Å×À̺í:
- total : Áö±Ý±îÁöÀÇ ¸ðµç ÁÖ¹®³»¿ªÀ» Æ÷ÇÔÇÏ´Â Å×À̺í
- ID
- À̸§
- ¿ìÆí¹øÈ£
- ÇØ´ç IDÀÇ °í°´ÀÌ ÁÖ¹®ÇÑ ÃÑ È½¼ö
- ÃÑ ÁÖ¹® ¼ö·®
- 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