【问题标题】:How to use External Procedures in Triggers on Oracle 11g如何在 Oracle 11g 的触发器中使用外部过程
【发布时间】: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


【解决方案1】:

使用程序插入您将处理数据的位置,然后退出程序(取消插入)或成功插入,或者在触发器中而不是在程序中处理数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 2014-06-21
    • 2018-01-24
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多