Oracle 9i ÖÐmergeµÄÎÊÌâ
ÇóÎÊ£º9iÖÐÖ»Ïë¸üв»Ïë²åÈëÔõôд£¿
MERGE INTO user p
USING TEMP tp
ON (p.TYPE = tp.TYPE)
WHEN MATCHED THEN
UPDATE SET p.SYS_NAME= tp.SYS_NAME
WHEN NOT MATCHED THEN
INSERT ()
VALUES (£©
ÕâÑùд¿Ï¶¨²»¶Ô
È¥µôWHEN NOT MATCHED THEN Ò²²»¶Ô£¬
ÄÄλ´ó¸çÓкõİ취£¿
Õâ¸öÎÊÌâÆðÔ´£ºÎÒÏë²åÈëÊý¾Ý£¬Èç¹û
1¡¢TYPE ²»Öظ´Ôò²åÈë
2¡¢TYPE ÖØ¸´µÄ »¹Òª¿´ ÁíÒ»¸ö×Ö¶Î ¡°op¡± Èç¹ûopÓÐÖµ Ôò²»½øÐвÙ×÷
3¡¢Èç¹ûopûֵÔò½øÐиüÐÂ
Èç¹ûÊÇ10g¾Í¼òµ¥ÁËÖ±½Ó where ¾ÍÐÐÁË ¿ÉÁ¯µÄÊǿͻ§µÄÊÇ9i Çë¸ßÊִͽÌ
Oracle merge into µÄÓ÷¨Ïê½âʵÀý
×÷Óãºmerge into ½â¾öÓÃB±í¸úÐÂA±íÊý¾Ý£¬Èç¹ûA±íÖÐûÓУ¬Ôò°ÑB±íµÄÊý¾Ý²åÈëA±í£»
Óï·¨£º
MERGE INTO [your table-name] [rename your table here]
USING ( [write your query here] )[rename your query-sql and using just like a table]
ON ([conditional expression here] AND [...]...)
WHEN MATHED THEN [here you can execute some update sql or something else ]
WHEN NOT MATHED THEN [execute something else here ! ]
-------ʵÀý-------
merge into a
using (select id,name from b ) c
on(a.id=c.id )
when matched then update set a.name=c.name
when not matched then insert (a.id,a.name) values (c.id,c.name);
×÷ÓãºÀûÓñí b ¸úбía £¬Ìõ¼þÊÇa.id=b.id£¬Èç¹ûa±íÖÐûÓиÃÌõ¼þµÄÊý¾Ý¾Í²åÈë¡
Ïà¹ØÎÊ´ð£º
ÒÔǰ³ÌÐòºÃºÃµÄ,ÄܽøÐÐÈκβÙ×÷
µ«´Ó×òÌ쿪ʼͻȻÁ¬½ÓÊý¾Ý¿âʧ°Ü,´úÂëÈçÏÂ:
try
{
::CoInitialize(NULL);
hr=m_pConnection.Creat ......
°²×°ÁËOracle 10g£¬Ä¬Èϰ²×°ÁËorclÊý¾Ý¿â£¬Õâ¸öÊý¾Ý¿âÄܲ»ÄÜɾ³ý°¡£¬»¹ÓÐÎÒÈç¹ûн¨ÁËÆäËûÊý¾Ý¿â£¬Ôõô֪µÀÔÚwebÖеǽ²»Í¬Êý¾Ý¿âµÄµØÖ·°¡£¿
1
¿ÉÒÔɾ³ý
2
ÔÚWEBµØÖ·À¸ÖÐÊäÈëµØÖ·µÄʱºòÖ¸¶¨Ð´´½¨µÄÊý¾Ý¿âµÄIP ......
ÏÖÓÐÒÔÏÂÊý¾Ý£º
ID Name
1 Jack,Tom,Ben
2 Mary,Simth,Tony,Jay
ת»»Îª£º
ID Name
1 Jack
1 Tom
1 Ben
2 Mary
2 Simth
2 Tony
2 Jay
ÒªÇóʹÓÃSQL²éѯÍê³É£¬ÓÉÓÚÌõ¼þÏÞÖÆ£¬²»ÄÜʹÓà ......
Developer SuiteÁ¬½ÓÊý¾Ý¿âµÄÎÊÌ⣬ÀͼݸßÊÖÖ¸µã£¡
µçÄÔÀïÃæÍ¬Ê±×°ÁËOraHome92ºÍDevSuiteHome2£¬Ç°ÕßµÄsql*plusÄÜ·ÃÎÊ£¬ºóÕßµÄÔò²»ÐС£ÊäÈëscott/tigerµÇ½ºóÕßʱ£¬ÎÒÊäÈëÁË"Ö÷»ú×Ö·û´®"ºÅÒԺ󣬱¨´í£º&n ......