µ¥±í²åÈëÒÔinsert into¿ªÍ·,²»ÄÜÓÐthen intoÓï¾ä.
¶à±í²åÈëÒÔinsert first/all ¿ªÍ·,¿ÉÒÔÓÐthen intoÓï¾ä
ÔÚOracle²Ù×÷¹ý³ÌÖо³£»áÓöµ½Í¬Ê±Ïò¶à¸ö²»Í¬µÄ±í²åÈëÊý¾Ý£¬´ËʱÓøÃÓï¾ä¾Í·Ç³£ºÏÊÊ¡£
All±íʾ·Ç¶Ì·ÔËË㣬¼´Âú×ãÁ˵ÚÒ»¸öÌõ¼þÒ²µÃÏòÏÂÖ´Ðв鿴ÊÇ·ñÂú×ãÆäËüÌõ¼þ£¬¶øFirstÊǶÌ·ÔËËãÕÒµ½ºÏÊÊÌõ¼þ¾Í²»ÏòϽøÐС£
INSERT ALL
WHEN prod_category=’B’ THEN
INTO book_sales(prod_id,cust_id,qty_sold,amt_sold)
VALUES(product_id,customer_id,sale_qty,sale_price)
WHEN prod_category=’V’ THEN
INTO video_sales(prod_id,cust_id,qty_sold,amt_sold)
VALUES(product_id,customer_id,sale_qty,sale_price)
WHEN prod_category=’A’ THEN
INTO audio_sales(prod_id,cust_id,qty_sold,amt_sold)
VALUES(product_id,customer_id,sale_qty,sale_price)
SELECT prod_category ,product_id ,customer_id ,sale_qty
,sale_price
from sales_detail;
Merging Rows into a Table
MERGE INTO oe.product_information pi
USING (SELECT product_id, list_price, min_price
from new_prices) NP
ON (pi.product_id = np.product_id)
WHEN MATCHED THEN UPDATE SET pi.list_price =np.list_price
,pi.min_price = np.min_price
WHEN NOT MATCHED THEN INSERT (pi.product_id,pi.category_id
,pi.list_price,pi.min_price)
VALUES (np.product_id, 33,np.list_price, np.min_price);
×÷Ϊһ¸öORACLE DBA,ÔÚ¹¤×÷Öлᾳ£´¦ÀíÓÉÓÚ×Ö·û¼¯²úÉúµÄһЩÎÊÌâ¡£µ«Êǵ±ÕæÕýÏëдһЩÕâ·½ÃæµÄ¶«Î÷ʱ£¬È´Í»È»ÓÖûÓÐÁËÍ·Ð÷¡£·¢Á˰ëÌì´ô£¬»¹ÊǾö¶¨ÓÃÁ½¸ö×Ö·û¼¯·½ÃæµÄÀý×Ó×÷ΪÇÐÈëµã£¬µ¹²»Ê§ÎªÒ»¸öÍ·Ð÷£¬Ëµ²»¶¨ÔÚʵÑéµÄ¹ý³ÌÖУ¬ÎÊÌâ¾Í»áÒ»¸ö½Ó×ÅÒ»¸öµÄ¸¡ÏÖ³öÀ´¡£
ÏÖÔÚ£¬ÈÃÎÒÃÇÇÐÈëÕýÌâ¡£
ÎÒÓõÄÊý¾Ý¿âÊÇoracle10.2.0.3,Êý ......
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) ±íʾ¸ù¾ÝCOL1·Ö×飬ÔÚ·Ö×éÄÚ²¿¸ù¾Ý COL2ÅÅÐò£¬¶ø´Ëº¯Êý¼ÆËãµÄÖµ¾Í±íʾÿ×éÄÚ²¿ÅÅÐòºóµÄ˳Ðò±àºÅ£¨×éÄÚÁ¬ÐøµÄΨһµÄ).
ÓërownumµÄÇø±ðÔÚÓÚ£ºÊ¹ÓÃrownum½øÐÐÅÅÐòµÄʱºòÊÇÏȶԽá¹û¼¯¼ÓÈëαÁÐrownumÈ»ºóÔÙ½øÐÐÅÅÐò£¬¶ø´Ëº¯ÊýÔÚ°üº¬ÅÅÐò´Ó¾äºóÊÇÏÈÅÅÐòÔÙ¼ÆËãÐкÅ ......