Create or replace trigger <触发器名> before | after | instead of --指定是在完成操作前还是操作后触发触发器 Insert [or delete] [or update] of <列名> on <表名|视图名> [ REFERENCING [ NEW AS new_row_name ] [ OLD AS old_row_name ] ] –给new或者old定义一个别名,在下面的程序中用别名代替new或者old使用 [for each row] --指定每行触发一次,默认情况下,数据库触发器每个表触发一次 [When (<条件>)] declare ------ Begin -------- exception -------- End;
至于你的问题能不能实现,我也不敢肯定,我知道的也就这么多,自己看看资料吧...
如果实现了,别忘了给大家学习学习^_^
before | after | instead of --指定是在完成操作前还是操作后触发触发器
Insert [or delete] [or update] of <列名> on <表名|视图名>
[ REFERENCING [ NEW AS new_row_name ] [ OLD AS old_row_name ] ] –给new或者old定义一个别名,在下面的程序中用别名代替new或者old使用
[for each row] --指定每行触发一次,默认情况下,数据库触发器每个表触发一次
[When (<条件>)]
declare
------
Begin
--------
exception
--------
End;
2.建立java和oracle关系 网上有很多例子(比如说存储过程或者什么的,主要是引入的过程)
3.在触发器中编辑当被激活时调用2中的存储过程
5.存储过程调用java,java进程通过webserviece或者 socket通知 你正在运行的服务器,有数据改变,则数据刷新
6.编写java端的接口问题解决了。
这个是一个初步的想法,但是我觉得不是特别的好。我提一个方法不需要什么触发器什么的, 就是监控的过程,你设置一个time 每隔多久的时间就去执行一遍刷新的过程不久行了么,虽然不是非常的即时,但是目前为止 大家做的 java和oracle的通讯一般情况下都是单向的。
1、创建一java文件:OraclejavaProc.java
public class OraclejavaProc {
public static void main(String[] args) {
System.out.println("It's a oraclejavaproc!");
}
}
2、使用oracle目录下的D:\oracle\product\10.2.0\db_1\jdk\bin javac来编译
javac OraclejavaProc.java
3、java OraclejavaProc 测试一下是否可成功输出信息。
4、登录oracle (可使用sql*plus或plsql)
1 SQL> conn system/manager
2 SQL> grant create any directory to scott; --授权
3 SQL> conn scott/tiger ---如果是管理员登录操作的可省略此步
4 SQL> create or replace directory oracle_dir as 'd:\test';
5 --目录已创建。
6 SQL> create or replace java class using bfile(oracle_dir,'OraclejavaProc.class');
7 Java 已创建。
8 --SQL> select object_name,object_type,STATUS from user_objects; --可查看object_type是否有java class的数据。
9 SQL> create or replace procedure oracle_java as language java
10 name 'OraclejavaProc.main(java.lang.String[])';
11 --过程已创建。
12 SQL> set serveroutput on size 5000 --使用pl/sql时此句可不用也可打印出
13 SQL> call dbms_java.set_output(5000);
14 --调用完成。
15 SQL> execute oracle_java;
16 It's a oraclejavaproc!
17
18 PL/SQL 过程已成功完成。
19 SQL> call test_java();
20 It's a oraclejavaproc!
21
22 --调用完成。