Plsql 如何在触发器中调用PL/SQL函数

Plsql 如何在触发器中调用PL/SQL函数,plsql,Plsql,我是pl/sql新手。有谁能告诉我如何在触发器中调用pl/sql函数吗 我累了,但当我试着运行它时,它会出错 DROP TRIGGER INTF_CONTROLLER_TREXE; CREATE OR REPLACE TRIGGER INTF_CONTROLLER_TREXE before insert ON INTF_CONTROLLER for each row begin BACKOFFICE_UPDATE(); end; CREATE OR REPLACE FUNCTION BAC

我是pl/sql新手。有谁能告诉我如何在触发器中调用pl/sql函数吗

我累了,但当我试着运行它时,它会出错

DROP TRIGGER INTF_CONTROLLER_TREXE;

CREATE OR REPLACE TRIGGER INTF_CONTROLLER_TREXE
before insert ON INTF_CONTROLLER for each row
begin
BACKOFFICE_UPDATE();
end;


CREATE OR REPLACE FUNCTION BACKOFFICE_UPDATE
RETURN NUMBER IS
tmpVar NUMBER;

BEGIN
   tmpVar := 0;
   DBMS_OUTPUT.put_line ('HELLO');
   RETURN tmpVar;


   EXCEPTION
     WHEN NO_DATA_FOUND THEN
       NULL;
     WHEN OTHERS THEN
       -- Consider logging the error and then re-raise
       RAISE;
END BACKOFFICE_UPDATE;
我试着用蟾蜍来运行它。它给出了以下错误


PLS-00221:“BACKOFFICE_UPDATE”不是一个过程或未定义

您需要将函数调用的结果存储在局部变量中

For example:
CREATE OR REPLACE TRIGGER INTF_CONTROLLER_TREXE 
before insert ON INTF_CONTROLLER for each row 
declare
dummy NUMBER;
begin 
dummy := BACKOFFICE_UPDATE(); 
end; 
仅供参考,空括号()在PL/SQL中是可选的。