123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- -- 创建消息表
- drop table lucene$message;
- create table lucene$message(
- me_id number primary key,
- me_table_name varchar(64) not null,
- me_method_type varchar(6) not null,
- me_data_id number not null,
- me_data varchar(1024),
- me_priority number(2) default 0,
- me_retry_count number(1) default 0,
- me_create_time date not null
- );
- -- 创建消息历史表
- drop table lucene$message_history;
- create table lucene$message_history(
- mh_id number primary key,
- mh_dequeue_time date not null,
- me_id number not null,
- me_table_name varchar(64) not null,
- me_method_type varchar(6) not null,
- me_data_id number not null,
- me_data varchar(1024),
- me_priority number(2) default 0,
- me_create_time date not null
- );
- -- 创建序列
- drop sequence lucene_message_seq;
- create sequence lucene_message_seq
- start with 1
- increment by 1
- maxvalue 9999999999999999999999999999;
- drop sequence lucene_message_history_seq;
- create sequence lucene_message_history_seq
- start with 1
- increment by 1
- maxvalue 9999999999999999999999999999;
- -- 创建存储过程 入队消息
- create or replace procedure enqueue_lucene_message(v_table_name in varchar, v_method_type in varchar, v_data_id in number, v_data in varchar, v_priority in number) is
- begin
- insert into lucene$message (me_id, me_table_name, me_method_type, me_data_id, me_data, me_priority, me_create_time) values(lucene_message_seq.nextval, v_table_name, v_method_type, v_data_id, v_data, v_priority, sysdate());
- end enqueue_lucene_message;
- -- 创建存储过程 出队消息
- create or replace procedure dequeue_lucene_message(v_id in number) is
- begin
- insert into lucene$message_history (mh_id, mh_dequeue_time, me_id, me_table_name, me_method_type, me_data_id, me_data, me_priority, me_create_time) select lucene_message_history_seq.nextval, sysdate(), me_id, me_table_name, me_method_type, me_data_id, me_data, me_priority, me_create_time from lucene$message where me_id = v_id;
- delete from lucene$message where me_id = v_id;
- end dequeue_lucene_message;
- -- ----------------------------
- -- Triggers structure for table AC$US$DETAIL
- -- ----------------------------
- CREATE or replace trigger lucene_ac_us_detail
- after insert or update of name, shortname, id, industry, adminname, profession, tags or delete on AC$US$DETAIL
- for each row
- declare
- v_table_name varchar(64) default 'PURC$CHANGES';
- v_method_type varchar(6) default 'insert';
- v_data_id number;
- v_data varchar(1024) default null;
- v_priority number(2) default 1;
- begin
- if inserting then
- v_data_id := :new.id;
- elsif updating then
- v_data_id := :old.id;
- elsif deleting then
- v_data_id := :old.id;
- end if;
- enqueue_lucene_message(v_table_name, v_method_type, v_data_id, v_data, v_priority);
- end;
|