Oracle的触发器 TRIGGER EEDZKY.T_XXXXX 编译错误 错误:PL/SQL: ORA-00904: "NEW"."aid"
TRIGGEREEDZKY.T_ARAP_DJFB编译错误错误:PLS-00801:内部错误[ph2csql_strdef_to_diana:bind]行:3文本:for...
TRIGGER EEDZKY.T_ARAP_DJFB 编译错误
错误:PLS-00801: 内部错误 [ph2csql_strdef_to_diana:bind]
行:3
文本:for each row
错误:PL/SQL: ORA-06544: PL/SQL: 内部错误, 参数: [ph2csql_strdef_to_diana:bind], [], [], [], [], [], [], []
行:6
文本:select zyx10 into dtzyx from arap_djzb h where h.vouchid =: new.vouchid;
错误:PL/SQL: SQL Statement ignored
行:6
文本:select name into aname from A where aid=:new.aid;
错误:PLS-00801: 内部错误 [phdite:node kind]
行:3
文本:for each row
错误:PL/SQL: Statement ignored
行:9
文本: raise_application_error(-20200,'!!!出错了! 明细为 “主要” 的主表的Name为null了!');
——————————————————————
表结构:
有2个表 他们是 组合关系 即 主子关系
A
aid name
1 特殊
2 null
B
bid aid mingxi
a 1 好
b 1 强
c 2 主要
我现在想写 一段触发器
如果在 添加 修改前 mingxi = 主要 并且 aid=2 里 的name =null 就抛一个异常
源码
create or replace trigger t_xxxx
before insert or update on B
for each row
declare aname varchar2(100);
begin
select name into aname from A where aid=:new.aid;
if :new.mingxi = '主要' and aname is null
then
raise_application_error(-20200,'!!!出错了! 明细为 “主要” 的主表的Name为null了!');
end if;
end; 展开
错误:PLS-00801: 内部错误 [ph2csql_strdef_to_diana:bind]
行:3
文本:for each row
错误:PL/SQL: ORA-06544: PL/SQL: 内部错误, 参数: [ph2csql_strdef_to_diana:bind], [], [], [], [], [], [], []
行:6
文本:select zyx10 into dtzyx from arap_djzb h where h.vouchid =: new.vouchid;
错误:PL/SQL: SQL Statement ignored
行:6
文本:select name into aname from A where aid=:new.aid;
错误:PLS-00801: 内部错误 [phdite:node kind]
行:3
文本:for each row
错误:PL/SQL: Statement ignored
行:9
文本: raise_application_error(-20200,'!!!出错了! 明细为 “主要” 的主表的Name为null了!');
——————————————————————
表结构:
有2个表 他们是 组合关系 即 主子关系
A
aid name
1 特殊
2 null
B
bid aid mingxi
a 1 好
b 1 强
c 2 主要
我现在想写 一段触发器
如果在 添加 修改前 mingxi = 主要 并且 aid=2 里 的name =null 就抛一个异常
源码
create or replace trigger t_xxxx
before insert or update on B
for each row
declare aname varchar2(100);
begin
select name into aname from A where aid=:new.aid;
if :new.mingxi = '主要' and aname is null
then
raise_application_error(-20200,'!!!出错了! 明细为 “主要” 的主表的Name为null了!');
end if;
end; 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询