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

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

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

AG亚游集团,  电子构型  - 电子构型是一个创新的三维构型工具,它可以为航空公司提供前所未有的能力,使其能快速便捷地选择符合它们运营要求并满足差异化的功能。只需点击鼠标,购飞机的即可“漫步”虚拟的空间,改变每一处客舱的布局、座椅、厨房和驾驶舱的仪表。不仅能对他们的选型立刻有一个虚拟的浏览,同时这些选项还自动与787的工程、制造以及运营整合到一起。

  新浪科技讯 3月23日,2004年中国国际广播电视信息网络展览会(CCBN2004)在北京国际展览中心召开,新浪科技从CCBN组委会获悉,相比2003年,本届展会参展商由700家增加到了近千家,厂商参展面积增加了60%,而数字电视及数字奥运展区成为本届展会的两大亮点。在家赚钱的十种方法  【事件回放】1月1日一大早,联黎礼仪官海珐作为联黎部队代表,前往中国营参加升旗仪式。没有繁文缛节,没有冗长讲话,也没有因为联黎官员的到来增加额外内容,尽管整个仪式只持续了短短10余分钟,却让海珐印象深刻。“我参加过近20个国家的升旗仪式,中国营的最简单利落,也最震撼人心!”她告诉笔者,虽然听不懂中国国歌的歌词,但依旧被官兵齐唱的气势所,“这是发自内心的声音。”更让她赞叹的是,仪式一结束,全副武装的扫雷连官兵就登上装甲车,启程奔赴“蓝线”雷场。“这才是军人的雷厉风行。” 海珐说。。

网友经验谈之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
3岁女童5楼坠下被接住生还 施救邻居重伤昏迷(图) 保险公司靠行贿连续中标获1.5亿佣金 按5%返回扣 南方大范围高温持续 多地气温打破历史同期纪录 哈德森若拒辽篮3年无法打CBA 分歧在合同年限 莫斯科赛卡萨金娜爆冷无缘八强 对手将战西格蒙德 瓜帅:这场比赢阿森纳还好 不在乎是否赢曼联夺冠 任天堂Switch游戏机发现严重漏洞 且无法修补 新西兰80后女总理下月生娃 将休6周工作交副总理 金彩瑛:获得世冠一直是梦想 吴清源杯让我成长 美媒:滴滴否认在ofo融资中使用否决权 全国人大上海代表团组团 推举殷一璀为团长 三个孩子喝了“三年陈酿”冬瓜水 嘴唇发紫进ICU
对话拼多多黄峥:他们建帝国、争地盘,我要错位竞争 施密特欲雪耻富力收最大利好 两主力位置伤病存疑 百白破疫苗引焦虑:是否影响健康?要不要重复接种? 中国制药业吸引国际人才 英媒:到中国工作有前途 崔康熙下必杀令要必胜权健:来中国考察没太大帮助 最强天赋队15连胜!东部第三归谁全看末日两战 罗比尼奥:和伊布一起在米兰拿冠军的记忆最开心 美GDP靓丽美元却未涨反跌 这锅又该由特朗普来背? 赵雅芝穿白裙优雅大方 超高开叉大秀美腿 有人看完舌尖3买章丘铁锅翻墙进厂 官方:厂里不卖 台湾学者赞惠台31项措施:定位精准 人才将西进 我国成功发射遥感三十一号01组卫星
最高法:依法从严惩治破坏生态犯罪 形成强大震慑 中东“狼烟”四起 这个国家却坐稳“赢家”宝座 马克龙反对美国迁馆耶路撒冷 称将和以总理好好谈 穆雷今天不止完美复出 还官宣参加今年中网 台南地震已过去2年 仍有灾民住在倾斜住宅楼(图) 观点:桑切斯已成曼联负担 穆帅该把他拿出首发 红球爆两组同尾号 双色球头奖开6注820万落5地 大数据选股体现金融科技创新 新浪100指数泛欧所上市 交通部:顺风车社交功能偏离出行本意 25岁我赚了3个亿 谁帮我杀人我给钱 白手起家怎样创业 加盟什么店最赚钱 AG亚游集团