色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Oracle外部程序的觸發小結

瀏覽:114日期:2023-11-21 17:32:07
在論壇里曾經看過一個帖子,有位用戶問了這么一個問題:Oracle 里一個表插入一條數據,提交后,如何讓外部程序收到這個消息? 當時沒有留意,現在想想似乎應該可以總結一下了。舉例: 1、過程中: ... declare myexcept exception; inserted_count1 number; inserted_count2 number; ... begin insert into table values(...); inserted_count1 := sql%rowcount; ... --可以判定inserted_count1是否大于0來確定是否插入了數據 commit; inserted_count2 := sql%rowcount; --這里inserted_count2為0 ... --事實上,這里一定是提交成功才會執行,否則會跳到exception段 yourprocess(yourpara);--調用你自己的過程或語句跟別的過程通信 ... exception when others then ---你可以根據sqlcode自己去查具體的提交失敗原因 ... yourprocess_for_fail(yourpara) --調用你自己的過程跟別的過程通信 ... end;2、直接外部操作,建觸發器: create or replace trigger table after insert for each row ... begin ... yourprocess(yourprara); ... end; 當然,2的方法這只能更總到提交前,假如要監視提交后狀態,你可以在操作表建立標志位或專門建個表,操作表發生變化就通過trigger更新變化信息到狀態表,掃描狀態表就知道是否commit;成功了 我想這位用戶應該通過trigger來調用Java source來實現插入數據后來通知外部程序來做一些事情: 使用java source的例子如下: SQL> create or replace and compile java source named HelloWorld 2 as 3 public class HelloWorld { 4 public static void db_run (){ 5 System.out.println('Hello World'); 6 } 7 } 8 / Java created. SQL> create or replace procedure run_helloworld 2 as language java 3 name 'HelloWorld.db_run()'; 4 / Procedure created. SQL> set serveroutput on size 5000 SQL> call dbms_java.set_output(5000) ; Call completed. SQL> SQL> exec run_helloworld ; Hello World PL/SQL procedure sUCcessfully completed. 上面是調用HelloWorld的例子,你可以修改HelloWorld方法,然后在觸發器里面調用以實現這位用戶的要求!
標簽: Oracle 數據庫
主站蜘蛛池模板: 毛片免费大全 | 欧美一级毛片无遮无挡 | 国产一区二三区 | 国产一区二区久久久 | 亚洲国产一级毛片 | 色吊丝avav色吊丝 | 国产亚洲精品一区二区 | 在线免费观看色 | 大学生一级一片第一次欧美 | 亚洲乱码国产一区网址 | 国产福利最新手机在线观看 | 色欧美在线 | 青青操网站 | 久久一级毛片 | 黄色a一片 | 欧美一级特黄刺激爽大片 | 久久久久久久久久久久福利 | 成人欧美视频免费看黄黄 | 性盈盈影院在线观看 | 三级毛片网 | www.成年人 | 欧美三级久久 | 露脸国产野战最新在线视频 | 91pao强力打造免费高清 | 日韩www视频| 久久综合日韩亚洲精品色 | 亚洲巨乳自拍在线视频 | 亚洲欧美日韩精品久久亚洲区色播 | 亚洲精品久一区 | 一区二区三区视频免费观看 | 欧美三级 欧美一级 | 99re在线精品视频 | 国产成人小视频在线观看 | 网红主播大尺度精品福利视频 | 欧美大片国产在线永久播放 | videosfree性欧美另类 | 欧美成人精品动漫在线专区 | 久草免费在线播放视频 | 日韩在线高清视频 | 国产成人黄网在线免 | 欧美日韩加勒比一区二区三区 |