中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
请升级Oracle中的外部表
作者:未知 时间:2005-09-13 23:43 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:请升级Oracle中的外部表
    甲骨文(Oracle)数据库的外部表(external tables ),作为一个平台文件,在支撑Oracle SQL的时候,对整合Oracle数据仓库以及“寄生”在服务器上的表数据的外部元数据起着至关重要的作用。

原文链接:http://www.softhouse.com.cn/html/200509/2005090516013200010796.html

    此外,外部表也可用来当作“csv”文件,允许这种类型的外部表数据在微软的Excel电子数据表中得以使用。

    一个名为Peter Kok的技术人员,发布了一则Oracle外部表获得升级的技巧,他列出的操作步骤如下:

    1、在外部表中定义一个“查看”;
 
    2、在这个“查看”中,分别为“插入”、“更新”和“删除”定义一个“INSTEAD OF”型的triggers;
 
    3、在这些triggers中,编写PL/SQL以执行必要的处理过程。

    Kok接着出示了例子的代码,还提供了这项技术的免费下载,在最后也提出了一些重要的“警告”:

    The problem is with doing a multiple delete (i.e. a delete statement that affects more than one row). As we noted before, the INSTEAD OF trigger is implicitly for each row. This means statement-level information is unavailable.


例子如下所示:

create or replace view emp_ext_tab_vw
as
  select       rownum         rownumber
         , emp.empno          empno
         , emp.ename          ename
         , emp.job            job
         , emp.mgr            mgr
         , emp.hiredate       hiredate
         , emp.sal            sal
         , emp.comm           comm
         , emp.deptno         deptno
  from     emp_ext_tab        emp
  order by rownumber asc
/
 

create or replace trigger emp_ext_tab_vw_brd
instead of delete on emp_ext_tab_vw
begin
  --
  emp_ext_tab_dml.delete_record ( :OLD.rownumber );
  --
end;
/

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有