Вызов Java-программы из Oracle Trigger - PullRequest
0 голосов
/ 25 ноября 2018

Я постараюсь быть кратким здесь.На самом деле у меня есть кусок кода, написанный на Java для отправки смс нашим клиентам.

Мы используем Oracle 10g в качестве нашей базы данных.Все, что я хочу здесь, это то, что

"Всякий раз, когда строка вставляется в определенную таблицу, я хочу создать триггер, который может вызвать мою программу Java и передать ей несколько параметров, например, Customer No, Invoice Id, Сумма счета и т. Д. "

Я пытался найти определенные учебные пособия, но в основном я получаю учебные пособия по созданию хранимой процедуры Java для внесения определенных изменений в базу данных.Я не хочу этого

Все, что я хочу, - это иметь способ, с помощью которого я могу запустить триггер, который вызывает мою Java-программу и передать некоторые параметры моей Java-программе.это возможно?

Может кто-нибудь предоставить мне код для записи в триггере оракула, который просто вызывает мою программу (скажем, Test.java) с некоторыми параметрами ??Я буду очень благодарен

Большое спасибо

1 Ответ

0 голосов
/ 25 ноября 2018

См. Вызов хранимой процедуры Java из триггера базы данных

CREATE OR REPLACE PROCEDURE log_sal ( 
emp_id NUMBER,
 old_sal NUMBER,
 new_sal NUMBER
)
AS LANGUAGE JAVA
NAME 'DBTrigger.logSal(int, float, float)';

Затем создайте таблицу sal_audit следующим образом:

CREATE TABLE sal_audit (
 empno NUMBER,
 oldsal NUMBER,
 newsal NUMBER
);

Наконец, создайте триггер базы данных, который срабатывает, когда увеличение зарплаты превышает 20 процентов:

CREATE OR REPLACE TRIGGER sal_trig
AFTER UPDATE OF salary ON employees
FOR EACH ROW
WHEN (new.salary > 1.2 * old.salary)
CALL log_sal(:new.employee_id, :old.salary, :new.salary);

Определите свой код в методе DBTrigger.logSal в этом примере

public class DBTrigger{
   public static void logSal (int empID, float oldSal, float newSal)
                                                    throws SQLException{
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...