oracle数据插入表,oracle同时向多表插入数据

单表插入以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);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值