Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 数据库多表插入详解

Oracle插入多表操作。大部分插入操作是针对单表操作的。但是oracle支持多表插入(insert)语句 。在数据仓库方面的抽取、转移和装入(ETL,Extract Transform and Load)的例程方面方面你将频繁的用到多表插入操作。 通过一个多表插入,你能你可以通过一个单一的数据源,把数据装载到多个数据表里面。通过减少整个数据的路径,来减少减少工作量,因此去的更快的输出。  如果一个WHEN条件为真(TRUE),相关的INTO语句被执行。如果没有条件为真,为真,那么ELSE条款被执行。关键字ALL告诉数据库,检查WHEN后面的每一个条件.另一方面,关键字FIRST告诉数据库当检查WHEN条件的第一个条件为真是,停止检查后续条件。下面的例子,是一个保险公司有两个保险条款,财产和意外伤害在条款表里。再是在数据市场里,他们把这两个表分成单独的事实表。在每月装入是,新的条款被增加到property_premium_fact 和cacuaty_premium_fact表里。你就可以使用多表插入更加有效的增加行,这样比使用两个单独的插入(INSERT)语句个更加高效。例子如下:
  1. INSERT FIRST  
  2. WHEN policy_type = "P" THEN  
  3. INTO property_premium_fact(policy_id  
  4. ,policy_nbr ,premium_amt)  
  5. VALUES (property_premium_seq.nextval  
  6. ,policy_number ,gross_premium)  
  7. WHEN p.policy_type = "C" THEN  
  8. INTO property_premium_fact(policy_id  
  9. ,policy_nbr ,premium_amt)  
  10. VALUES (property_premium_seq.nextval  
  11. ,policy_number ,gross_premium)  
  12. SELECT policy_nbr ,gross_premium ,policy_type  
  13. FROM policies  
  14. WHERE policy_date >=  
  15. TRUNC(SYSDATE,"MM") - TO_YMINTERVAL("00-01");  
通过使用多表插入,INSERT语句,代替两个单独的插入语句,这样的代码块通过一个单独访问表通道代替两个访问通道因此数据装载更加高效。Oracle 并发和并行中的Undo 详细使用说明Oracle root.sh执行后提示的含义相关资讯      Oracle数据库  Oracle入门教程  oracle数据库教程 
  • Oracle数据库全球化  (03月01日)
  • Oracle数据库日期过滤方法性能比较  (02/02/2015 13:20:26)
  • Oracle数据库安装中端口被占用问题  (10/29/2014 07:42:24)
  • 在CentOS 6.6上搭建C++运行环境并  (10/10/2015 19:44:40)
  • Oracle数据库无法使用localhost和  (11/14/2014 16:39:10)
  • 使用SQLT来构建Oracle测试用例  (08/28/2014 06:17:41)
本文评论 查看全部评论 (0)
表情: 姓名: 字数