如何从Oracle触发器调用Java类? [英] How to call java class from oracle trigger?
本文介绍了如何从Oracle触发器调用Java类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用oracle 10g和jdk 1.6
I am use oracle 10g and jdk 1.6
我想从oracle触发器调用java类,因为我在下面尝试尝试
I want to call java class from oracle Trigger for that I am tries below-
我的java类是-
public class DBTrigger
{
public static void logSal()
{
System.out.println("In java class");
}
}
我的oracle触发器是-
and my oracle trigger is-
CREATE OR REPLACE TRIGGER sal_trig
AFTER UPDATE OF sal ON emp
FOR EACH ROW
WHEN (new.sal > 1.2 * old.sal)
CALL logSal();
但是我可以叫它.
所以请给我一个建议.
推荐答案
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED My_JavaClass AS
import java.io.*;
public class DBTrigger
{
public static void logSal()
{
System.out.println("In java class");
}
}
/
2)创建一个存储过程(基本上是一个占位符)来调用您的Java类
2) Create a stored procedure (a place holder basically) to call your java class
CREATE OR REPLACE PROCEDURE My_Javaclass_proc
AS LANGUAGE JAVA NAME 'DBTrigger.logSal()';
/
3)创建触发器并调用此过程
3) Create the trigger and call this procedure
CREATE OR REPLACE TRIGGER sal_trig
AFTER UPDATE OF sal ON emp
FOR EACH ROW
WHEN (new.sal > 1.2 * old.sal)
begin
My_Javaclass_proc;
end;
/
尝试使用上述步骤进行操作并共享结果.
Try to do using above steps and share the results.
这篇关于如何从Oracle触发器调用Java类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文