`
wuhuizhong
  • 浏览: 681219 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

Oracle外部程序的触发

阅读更多

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存储过程调用bat批处理脚本程序

    在Oracle中调用外部程序,主要有以下几种方式: 1. **DBMS_SCHEDULER**: Oracle的DBMS_SCHEDULER包提供了一个功能强大的任务调度器,可以安排存储过程、PL/SQL块以及外部程序的运行。你可以创建一个调度作业,指定...

    oracle 触发器实时调用java 中http接口

    这个设计模式通常用于实时的数据处理或者系统间的集成,比如将数据库中的事件通知给外部系统。 首先,让我们详细解释一下触发器的工作原理。在Oracle中,触发器由CREATE TRIGGER语句定义,它可以监听表上的特定操作...

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    23. **外部程序触发**: Oracle的DBMS_SCHEDULER可安排外部程序执行,如批处理、文件传输等。 24. **备份与恢复**: Oracle的RMAN(恢复管理器)用于数据库备份和恢复,支持完整备份、增量备份和归档日志恢复。 25...

    关于oracle触发器before和after的应用问题

    本文旨在深入解析Oracle触发器中的Before和After两种触发时机,以及它们在数据库管理和维护中的具体应用。 #### 触发器概述 触发器类似于过程和函数,具有声明、执行和异常处理的部分,但其独特之处在于由特定事件...

    Oracle Form guide (Outside Training).

    "Oracle Form guide (Outside Training)"很显然是一份关于如何使用Oracle Forms进行外部培训的指南。这份指南可能包含了从基础知识到高级技巧的全方位教程,旨在帮助用户理解和掌握Oracle Forms的开发和应用。 ...

    Oracle工作流介绍

    6. **集成能力**:易于与其他Oracle产品(如Oracle E-Business Suite)和其他第三方应用程序集成。 #### 三、Oracle工作流的应用场景 1. **审批流程**:适用于各种审批场景,如采购申请、请假审批等。 2. **订单...

    短信收发平台

    整个系统的工作流程可能是这样的:用户在Swing界面填写短信内容和收件人,点击发送按钮后,NewJFrame.java会触发Cmd001_y.java中的发送命令,该命令通过JDBC连接Oracle数据库,存储短信信息。同时,GetThread.java...

    oracle bpel

    3. **事件驱动**:BPEL流程可以响应外部事件,如消息的接收或定时器触发,从而启动或更改流程执行。 4. **异常处理**:内置的错误处理机制允许流程在出现错误时进行恢复或者通知,确保业务流程的健壮性。 5. **监控...

    oracle 接口开发资料

    1.3. Open Interface模式:这种模式允许外部系统通过预定义的数据格式和程序调用来与Oracle EBS交互。通常,Open Interfaces是基于PL/SQL的程序包,它们接收XML或平文件格式的数据,然后将其转化为内部EBS格式。 ...

    Oracle Sql*Forms用户出口的建立与应用 (1).pdf

    当用户在Forms中执行某些操作,如插入、更新或删除记录时,可以触发预定义的用户出口,调用事先编写好的PL/SQL代码或外部程序,实现更精细的控制。 建立用户出口通常包括以下几个步骤: 1. **规划出口事件**:首先...

    oracle触发器加载java文件访问webservice

    它们可以在数据更改前或更改后运行,以执行额外的操作,例如验证、审计或调用外部程序。在这个案例中,触发器被用来在特定的数据操作之后执行Java代码。 Java代码通常存储在数据库的BLOB或CLOB列中,或者作为PL/SQL...

    Oracle数据库的操作程序.docx

    - **知识点**: 在Oracle Developer/2000中, 不同的键盘触发子对应不同的按键操作, 这对于快速开发和调试程序至关重要。 - **详细解释**: Oracle Developer/2000提供了丰富的键盘触发子来处理用户输入, 如`WHEN-KEY-...

    Oracle数据库的操作程序.doc

    Oracle数据库的操作程序涉及众多方面,包括用户界面交互、数据访问、报表打印以及系统集成等。以下是一些关键知识点的详细说明: 1. **FORM中键盘触发子**:Developer/2000允许开发者自定义键盘快捷键,提高用户...

    日积月累-oracle笔记

    3. **SQL*Loader工具**:SQL*Loader是Oracle提供的一个强大工具,用于批量导入外部数据到Oracle数据库。它支持多种数据格式,如CSV、文本文件等,并提供了灵活的数据转换和错误处理功能。通过配置控制文件(.ctl),...

    Oracle Workflow Guide

    Oracle Workflow与Oracle E-Business Suite、Oracle Applications及其他第三方系统无缝集成,可调用外部服务和应用程序,实现跨系统的流程自动化,增强了系统的灵活性和适应性。 #### 4. **安全性与审计** 提供...

    oracle ebs开发文档

    这部分讲解了如何在 PL/SQL 中调用 Java 代码,这对于需要集成外部服务或使用 Java 库的情况非常有用。 **5.3 PL/SQL 操作 EXCEL** 这部分介绍了如何使用 PL/SQL 来读写 Excel 文件,这对于数据导出或导入的需求...

    Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide for Linux

    Oracle Clusterware是一个集群管理软件,负责监控和管理集群内的所有节点,确保在任何单点故障发生时,能够自动地进行故障转移,保持应用程序的连续运行。而Oracle RAC则是在Oracle Clusterware的基础上,实现了...

Global site tag (gtag.js) - Google Analytics