原文鏈接: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;
/