请大虾指教~

解决方案 »

  1.   

    trigger?是程序对数据库做的插入操作?
      

  2.   

    北京奥赛尔生物工程技术有限公司     是一家位于北京市中关村科技园海淀园区,是由海外留学 人员创建的一家高新技术企业 ,并被评为 中关村留学人员创业园优秀企业 。(www.allshare.com.cn)  地址:北京、海淀、上地信息路26号、中关村留学生创业大厦 Tel : 010-82898000; 13601182765; 13683076911 现因业务拓展,需要组建新的团队,招聘以下人员:职务 名额   职务描述 
    1、美工 1名 软件界面设计 
    2、网站制作 1名 HTML + JavaScript(PHP) 
    3、程序员 2名  Win32 API + C\C++ 
    4、数据库管理员 1名 Oracle; SQL Sever 2000 
      

  3.   

    如果是在过程中,未提交前sql%rowcount可以验证是否有修改操作,提交时如果成功sql%rowcount会为0,提交不成功会引发异常跳到exception段,你想调用其他过程的话自己在程序段或异常段构造语句;如果是直接的外部操作,如insert into table values(...),用trigger吧
      

  4.   

    举例:
    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;成功了
      

  5.   

    我想你应该通过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 WorldPL/SQL procedure successfully completed.
    上面是调用HelloWorld的例子,你可以修改HelloWorld方法,然后在触发器里面调用以实现你的要求!
      

  6.   

    关注,请问楼上星星 说的需不需要设置什么环境变量呀 ,我照着做  提示 java系统类不可用 :oracle/aurora/rdbms/Compiler
      

  7.   

    表这个表上建个trigger, 当A程序向数据库中某个表插入记录时,向另一个日志表中记录表被修改的日志。
    然后B程序通过监控日志表来知道表被修改。当然过程是异步的。