您当前的位置: AG亚游集团 > 数据库教程 > Oracle教程 > 网友经验谈之Oracle外部程序触发小结

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

作者:guanchaofeng 来源:不详 发布时间: 2009-09-30 08:38 点击: 次
在论坛里曾经看过一个帖子,有位用户问了这么一个问题:oracle里一个表插入一条数据,提交后,如何让外部程序收到这个消息? 当时没有留意,现在想想好像应该可以总结一下了。举例: 1、过程中: ... declare myexceptexception; inserted_count1number; ins

AG亚游集团,多彩贵州网讯(本网记者郭邱磊)12月13日上午,“2016中国青岩·古镇峰会”在贵阳孔学堂开幕,来自全国各相关单位、机构和个人约600余人参加开幕式。本次峰会以“特色古镇·创新发展”为主题,旨在搭建多领域、多地域、多学科、产学研相结合的高层次交流互动平台,分享古镇开发经验,探讨古镇保护、历史文化传承与创新发展方面的思路和相关政策。

  央视新闻:【俄土互指对方参与极端组织非法运油】当地时间3日,土耳其总统埃尔多安称,有证据证明俄罗斯参与极端组织IS非法运油,将向全世界公开证据。而2日俄罗斯方面也曾称,有证据表明,极端组织在叙利亚和伊拉克境内非法所得石油的主要家是土耳其。养殖什么不愁销路浙江队主帅王贺兵坦言:“北京队球员的个人能力都很强,给我们队员好好地上了一课。越是关键球和关键比赛,国际球员的能力就越能得到体现。现在我们的国内联赛的水平越来越高,如果我们队也有一个外援,那情况肯定不一样了。”

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

  在论坛里曾经看过一个帖子,有位用户问了这么一个问题:oracle里一个表插入一条数据,提交后,如何让外部程序收到这个消息?
  
  当时没有留意,现在想想好像应该可以总结一下了。举例:
  
  1、过程中:
  
  ...
  declare
  myexceptexception;
  inserted_count1number;
  inserted_count2number;
  ...
  begin
  insertintotablevalues(...);
  inserted_count1:=sql%rowcount;
  ...--可以判断inserted_count1是否大于0来确定是否插入了数据
  commit;
  inserted_count2:=sql%rowcount;--这里inserted_count2为0
  ...--事实上,这里一定是提交成功才会执行,否则会跳到exception段
  yourprocess(yourpara);--调用你自己的过程或语句跟别的过程通信
  ...
  exception
  whenothersthen---你可以根据sqlcode自己去查具体的提交失败原因
  ...
  yourprocess_for_fail(yourpara)--调用你自己的过程跟别的过程通信
  ...
  end;
  
  2、直接外部操作,建触发器:
  
  createorreplacetriggertableafterinsertforeachrow
  ...
  begin
  ...
  yourprocess(yourprara);
  ...
  end;
  
  当然,2的方法这只能更总到提交前,如果要监视提交后状态,你可以在操作表建立标志位或专门建个表,操作表发生变化就通过trigger更新变化信息到状态表,扫描状态表就知道是否commit;成功了
  
  我想这位用户应该通过trigger来调用javasource来实现插入数据后来通知外部程序来做一些事情:
  
  使用javasource的例子如下:
  
  SQL>createorreplaceandcompilejavasourcenamedHelloWorld
  2as
  3publicclassHelloWorld{
  4publicstaticvoiddb_run(){
  5System.out.println("HelloWorld");
  6}
  7}
  8/
  
  Javacreated.
  
  SQL>createorreplaceprocedurerun_helloworld
  2aslanguagejava
  3name'HelloWorld.db_run()';
  4/
  
  Procedurecreated.
  
  SQL>setserveroutputonsize5000
  SQL>calldbms_java.set_output(5000);
  
  Callcompleted.
  
  SQL>
  SQL>execrun_helloworld;
  HelloWorld
  
  PL/SQLproceduresuccessfullycompleted.

分享到:
本文"网友经验谈之Oracle外部程序触发小结"由远航站长收集整理而来,仅供大家学习与参考使用。更多AG亚游集团尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(AG亚游集团). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类AG亚游集团.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4
微信:近期对6000余个涉赌微信群限制群功能 兹维列夫谈和费雷罗分手:他对团队的人不尊重 新华社:美对华“301调查”法律事实依据受到质疑 [新浪彩票]足彩18067期任九:曼联主胜可期 中国“深海勇士”号成功回收 首次实现连续夜潜 叙利亚政府军已控制超50%原极端组织占领地区(图) 人物|单核暴走9连胜自我正名!他这也是MVP级的 花滑欧锦赛费尔南德斯男单六连冠 俄罗斯摘银铜 关小刀竞彩:德累斯顿主场称雄 洛里昂冲击三连胜 巧合?广岛联赛杯入场观众7777人 球队却在77分钟丢… 下月起这9种人一年内不能坐飞机 看看有你吗? 英媒评全球最富33人:马化腾升至18位 王健林落榜
台北101大厦股权转让日企 曾称:不给“中资”就行 女子睡梦中被尖刀抵住喉咙 她一句话让歹徒下跪 大名单都被猜到了? 莱德杯欧洲队阵容基本成型 中国工厂太魔幻:未来每2分钟下线一辆汽车 食品企业违法被查:核桃乳用的是花生酱和核桃香精 疯狂货车狂飙2小时5辆警车堵截 只因躲避超载罚款 商务部将制定融资等行业经营监管规则划归银保监 省委书记到这个市调研 市主要领导为何在千里之外 日防相:购置陆基宙斯盾每套将花费1340亿日元 湖南纪委书记:困难群众的救命钱 谁动让谁掉官帽 两名中国赌客菲律宾被捕 被指赌场“出千” 河北廊坊这名县长被处分 事关京津冀大事
还记得3Q大战中的fuckqq.com域名吗?腾讯正申… 中巡OR美巡中国? 中国球员心中天平偏向威巡通道 无人货架被曝裁撤站点、压缩编制 专家:行业将洗牌 购物时群殴商场保安 5名中国留学生在日本被捕 美国大企业慷慨解囊 股市戴上救生圈 小米股价收盘报19.02港元 下跌4.33% 当完得分王又当板神!这样的阿不都让戈尔偷笑 苹果研发高端头戴式耳机 与Bose等专业厂商竞争 区块链社群精华汇总:七大话题详解未来机会 不怕死想发财的兄弟进 小投资暴利 白手起家创业点子 适合白手起家的项目 AG亚游集团