oracle同时向多表插入数据

2016-01-29 14:39 62 1 收藏

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

【 tulaoshi.com - Oracle教程 】


 

在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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

来源:http://www.tulaoshi.com/n/20160129/1493829.html

延伸阅读
传统的数据库治理系统(DBMS)可以为商业应用提供可以接受的处理速度,但是它们无法为你提供具有竞争力的优势。现在你会发现通过使用内存关系数据库,可以提供相当于传统系统10倍的速度。 阅读这篇文章了解Oracle TimesTen内存数据库是如何作为Oracle数据库的缓存来达到加速需要实时响应的企业应用的目的。 在这篇文章中,你可以了解: ...
      每个数据库管理员都会面临数据导入的问题,这有可能发生在数据库的新老移植过程中,或者是在数据库崩溃后的恢复重建过程中,还有可能是在创建测试数据库的模拟环境过程中,总之作为一名合格的数据库管理员,你应该做好接受各种数据导入请求的技术储备,同时还要尽量满足人本能的对导入速度的苛求。本文仅针对 O...
标签: MySQL mysql数据库
多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。 1、查看第一个表mytable的内容: mysql select * from mytable; +...
过程和函数 过程和函数都以编译后的形式存放在数据库中,函数可以没有参数也可以有多个参数并有一个返回值。过程有零个或多个参数,没有返回值。函数和过程都可以通过参数列表接收或返回零个或多个值,函数和过程的主要区别不在于返回值,而在于他们的调用方式。过程是作为一个独立执行语句调用的: pay_involume(invoice_nbr,30,du...
如果你有两个数据 创建表的声明追踪, 经过TKPROF 解析后,输出结果如下: CREATE TABLE TABLE_ROWNUM AS SELECT * FROM (SELECT ID, ROWNUM AS rownum_a FROM TABLE_A) ALIAS_A, (SELECT ID AS id_b, ROWNUM AS rownum_b FROM TABLE_B) ALIAS_B WHERE ALIAS_A.rownum_a = ALIAS_B.rownum_b call count cpu elapsed disk query curren...

经验教程

98

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部