oracle同时向多表插入数据

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

在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);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航