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;
展开
 我来答
百度网友b19c62026
2011-08-17
知道答主
回答量:27
采纳率:0%
帮助的人:20.7万
展开全部
是用PL/SQL DEV进行编译吧?
如果是,下列办法应该可以解决:
1、打开工具-〉首选项
2、选择调试器
3、将编译时添加调试信息的选项不勾
4、确定后重新编译
百度网友e4b2715
2011-08-09 · TA获得超过191个赞
知道小有建树答主
回答量:313
采纳率:94%
帮助的人:126万
展开全部
触发器没什么错误,不过select zyx10 into dtzyx from arap_djzb h where h.vouchid =: new.vouchid;
这句代码在哪里?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式