午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

Oracle外部程序的觸發小結

瀏覽:223日期: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 數據庫
主站蜘蛛池模板: 久久久久黄色片 | 成人超碰在线 | 亚洲区一区二区 | 一区二区av在线 | 国产精品国产三级国产aⅴ无密码 | 久久精品国产一区二区 | 六月激情 | 香蕉视频在线免费播放 | 成人av图片 | 国产精品视频99 | 国产激情小视频 | 精品成人一区二区三区 | 欧美视频 | 夜夜春很很躁夜夜躁 | 亚洲激情四射 | 香蕉视频免费看 | 欧美亚洲黄色 | 中文字幕www | 久久伊人爱 | 欧美一级精品 | 影音先锋中文字幕在线视频 | 精品在线视频免费观看 | 97色综合 | www.国产精品.com | 亚洲伊人影院 | a在线视频| 日韩在线免费观看av | 一级片视频在线观看 | 中文字幕一区二区三区av | 亚洲精品婷婷 | 国产免费一区二区三区四在线播放 | 成人午夜免费福利视频 | 69xxx免费 | 日韩精品一区二区三区视频 | 91伦理视频| 午夜视频一区二区 | 天堂中文在线观看视频 | 欧美精品一| 亚洲精品在 | 日韩无遮挡 | 国产又粗又猛又黄 |