网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Multiple在表中的计算.
.Oracle数据库加密曝漏洞 几分钟即.
.Oracle的實体化視圖管理.
.解决Oracle下的undo空间过大的问.
.Oracle疑难解答.
.对Foreign Key的进一步认识.
.从Oracle数据库到SQL Server数据.
.教会你掌握oracle外表.
.ORACLE SQL性能优化系列 (四).
.ORACLE 学习笔记一之数据库的导入.
.Oracle数据库逻辑备份的SH文件.
.关于Oracle数据库热备份脚本深入.
.教你学会truncate和delete的区别.
.Oracle logminer使用方法总结.
.Oracle中应用Export的一个问题.
.ORACLE 用户的规范化管理.
.oracle 10G在fedora2上的安装.
.系统从oracle版本转化为sqlserve.
.获得Oracle各内存段的内部信息(.
.Oracle8i数据库中索引的维护.

网友经验谈之Oracle外部程序触发小结

发表日期:2008-2-9


在论坛里曾经看过一个帖子,有位用户问了这么一个问题: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.

上一篇:从问题入手帮你解决Oracle杀死死锁进程 人气:1212
下一篇:轻松六步使你的Oracle存储过程迅速加密 人气:1333
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐