1 CREATE OR REPLACE Trigger trig_solr_index_el_lesson
2 After Update of lessonid, lessonname, lessongoal, note, teachername, teacherid, classidname, classid, crtime, status Or Delete or insert On el_lesson
3 For Each Row
4 declare
5 -- local variables here
6 new_status number;
7 begin
8 new_status := :NEW.status;
9 if inserting then
10 begin
11 INSERT INTO solr_index
12 (id, docid, type)
13 VALUES
14 (solr_index_seq.NEXTVAL, :NEW.lessonid, ‘add‘);
15 end;
16 end if;
17
18 if updating then
19 --对比老的状态和新的状态
20 if new_status = -1 and :OLD.status != -1 then
21
22 INSERT INTO solr_index
23 (id, docid, type)
24 VALUES
25 (solr_index_seq.NEXTVAL, :OLD.lessonid, ‘delete‘);
26
27 else
28 INSERT INTO solr_index
29 (id, docid, type)
30 VALUES
31 (solr_index_seq.NEXTVAL, :OLD.lessonid, ‘update‘);
32
33 end if;
34 end if;
35
36 if deleting then
37 begin
38 INSERT INTO solr_index
39 (id, docid, type)
40 VALUES
41 (solr_index_seq.NEXTVAL, :OLD.lessonid, ‘delete‘);
42 end;
43 end if;
44 end;