標籤:
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 then10 begin11 INSERT INTO solr_index12 (id, docid, type)13 VALUES14 (solr_index_seq.NEXTVAL, :NEW.lessonid, ‘add‘);15 end;16 end if;17 18 if updating then19 --對比老的狀態和新的狀態20 if new_status = -1 and :OLD.status != -1 then21 22 INSERT INTO solr_index23 (id, docid, type)24 VALUES25 (solr_index_seq.NEXTVAL, :OLD.lessonid, ‘delete‘);26 27 else28 INSERT INTO solr_index29 (id, docid, type)30 VALUES31 (solr_index_seq.NEXTVAL, :OLD.lessonid, ‘update‘);32 33 end if;34 end if;35 36 if deleting then37 begin38 INSERT INTO solr_index39 (id, docid, type)40 VALUES41 (solr_index_seq.NEXTVAL, :OLD.lessonid, ‘delete‘);42 end;43 end if;44 end;
oracle觸發器--if else demo