我们可以在Oracle中的触发器中传递参数吗?

时间:2016-02-15 07:39:06

标签: oracle plsql triggers

在过程和函数中,我们可以将参数传递给触发器吗?可以明确调用触发器吗?

2 个答案:

答案 0 :(得分:5)

基于对象的触发器由事件的发生(作为更新,插入,选择)引发在数据库的特定对象上。还有系统触发器,由系统特定事件(如关闭,启动数据库,用户连接等)触发。

这是数据库触发器的主要目的,你不能明确地提出它,如果你想让它运行,唯一的方法是引发事件。传递参数也不是触发器定义的一部分,但是您可以处理事件属性(可以将其传递给可能包含函数或过程的触发器主体)。

我希望我已经回答了你的问题,我能否知道你需要做什么?

答案 1 :(得分:0)

您可以做的是创建一个临时存储您要在触发器中访问的数据的表。

1 - 例如,创建一个表“tmp_data”。 2 - 在运行将触发触发器的事件(存储过程,插入,更新...)之前,将要在触发器中使用的数据插入到tmp_data中。 3 - 在触发器中,要访问所需的数据,可以对表tmp_data进行查询。 4 - 完成数据后,清理表tmp_data以供下次使用。

希望很有帮助!