请升级Oracle中的外部表
甲骨文(Oracle)数据库的外部表(external tables ),作为一个平台文件,在支撑Oracle SQL的时候,对整合Oracle数据仓库以及“寄生”在服务器上的表数据的外部元数据起着至关重要的作用。
此外,外部表也可用来当作“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; /
| 出处: 软件屋编译 日期: 2005-9-5 |
好:2 一般:0 差:0 |
|