根据Oracle Streams + Oracle AQ 捕获改变,发布改变(一)ITeye - 乐橙lc8

根据Oracle Streams + Oracle AQ 捕获改变,发布改变(一)ITeye

2019-01-11 06:09:30 | 作者: 海昌 | 标签: 东西,函数,方针 | 浏览: 2721

--东西函数 create or replace PROCEDURE set_dml_handler(tablename varchar2, action varchar2, handler varchar2) is begin   DBMS_APPLY_ADM.SET_DML_HANDLER(     object_name = tablename ,     object_type = TABLE,     operation_name = action,     error_handler = false,     user_procedure = handler,     apply_database_link = NULL); --为方针表装备处理器stradmin.enq_jms_lcr declare   here number;   type array_type is table of varchar2(100);   --界说需求同步的表   tables array_type := array_type(scott.USER);   cursor c_table is     select T.OWNER||.||T.TABLE_NAME tablename       from dba_tables t      where t.owner = scott        and instr(t.table_name,EST) = 1 ; begin   for t in c_table loop   here := 0;     for i IN 1..tables.count loop       if tables(i) = t.tablename then         here := 1;       end if;     end loop;  if here = 1 then   dbms_output.put_line(enq_jms_lcr : || t.tablename);         set_dml_handler(t.tablename, UPDATE, strmadmin.enq_jms_lcr);         set_dml_handler(t.tablename, INSERT, strmadmin.enq_jms_lcr);         set_dml_handler(t.tablename, DELETE, strmadmin.enq_jms_lcr);  end if;  if here = 0 then   dbms_output.put_line(empty_jms_lcr : || t.tablename);         set_dml_handler(t.tablename, UPDATE, strmadmin.empty_jms_lcr);         set_dml_handler(t.tablename, INSERT, strmadmin.empty_jms_lcr);         set_dml_handler(t.tablename, DELETE, strmadmin.empty_jms_lcr);  end if;   end loop;
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表乐橙lc8立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章