oracle触发器--if else demo


 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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM