【发布时间】:2011-02-19 00:39:43
【问题描述】:
我想在触发插入命令时触发触发器..
触发器将访问一个可以随时更改的 pl/sql 文件..
所以查询是,如果我们设计触发器,我们如何确保这种动态的事情发生。在存储过程期间,它不起作用。。
我认为 - 它应该适用于
1) External Procedures
2) Execute Statement
如果我错了,请纠正我。我正在处理外部程序,但我无法找到从这里开始执行外部程序的方法。
SQL> CREATE OR REPLACE FUNCTION Plstojavafac_func (N NUMBER) RETURN NUMBER AS
2 LANGUAGE JAVA
3 NAME 'Factorial.J_calcFactorial(int) return int';
4 /
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SQL> CREATE OR REPLACE TRIGGER student_after_insert
2 AFTER INSERT
3 ON student
4 FOR EACH ROW
如何从这里调用程序......我的解释是否正确,请建议......
谢谢。
【问题讨论】:
-
抱歉,这完全是半生不熟的想法的大杂烩。外部过程不运行 PL/SQL(它们是可能用 C 编写的 OS 库的 PL/SQL 包装器)。同样,Java 存储过程又有所不同。如果您要清楚地解释您的要求,那将是一个好主意:“触发器将访问可以随时更改的 pl/sql 文件”。这个文件有什么作用?它在什么方面是动态的?它必须是动态的原因会很有趣,但可能与解决方案无关。
-
一个明确的声明怎么样。用户/应用程序在该表中插入一行。发生这种情况时,我希望它“....”(例如发送电子邮件、调用网络服务、写入文件...)
-
Oracle Triggers Query.. 的可能重复项
标签: oracle stored-procedures triggers