1
我试图创建我的触发器,但它要求绑定每次。当我在出现的窗口上单击应用时,它会以我想要的方式工作...但是,它会记录错误...Oracle PL/SQL触发器请求绑定
我的触发器检查客户端是否处于活动状态,并且不允许的变化,如果它被发现是积极的......
CREATE Trigger Client_Activity
BEFORE Insert or Update or Delete ON Client
FOR EACH ROW
DECLARE
VAR_AC char(2);
BEGIN
IF UPDATING THEN
SELECT Activity INTO VAR_AC
FROM Client_Additionals
WHERE Activity = :Old.Activity;
IF Activity = 'AC'
THEN Raise_Application_Error(-20999, 'active')
END IF;
END;
/
Oracle版本12使用的SQLDeveloper
认沽'SET DEFONE OFF;''之前CREATE TRIGGER ....'语句,然后按F5'运行script' – krokodilko
@a_horse_with_no_name - 与代码绑定变量时的情况相同。不同的前端做不同。 SQL \ * Plus只会说*绑定变量“OLD”未声明*。 SQL Developer将打开一个标有“Enter binds”的弹出窗口,等待“Old”的值。我相信Toad会做类似于SQL Developer的事情。 – mathguy
@krokodilko - 我认为这不会解决问题......为什么呢?这个问题是一个(意外的,或者说是错误的)绑定变量,而不是一个替代变量。 – mathguy