oracle触发器把select查询结果赋值给变量报错

luqingsong123123 2017-10-18 10:59:30
create or replace trigger "T_JGXX_TEST"
before INSERT OR UPDATE OF "IN_CODE","XTLB","JGLX","GLXS","SSQH" ON "TEST"."A10_JGXX"
FOR EACH ROW
DECLARE
TREEVAR VARCHAR2(200);
BEGIN
if length(:new.IN_CODE)!=4 then
select tree_code into tree from a10_jgxx where in_code=substr(:new.IN_CODE,0,length(:new.IN_CODE)-4);
:new.tree_code:=tree ||'-5'||:new.IN_CODE;
end if;
END;
...全文
1067 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2017-10-18
  • 打赏
  • 举报
回复
上面的语句,你执行下看看。
碧水幽幽泉 2017-10-18
  • 打赏
  • 举报
回复
tree没有定义,试试下面这个:

create or replace trigger "T_JGXX_TEST"
before INSERT OR UPDATE OF "IN_CODE","XTLB","JGLX","GLXS","SSQH" ON "TEST"."A10_JGXX"
FOR EACH ROW
DECLARE
TREEVAR VARCHAR2(200);
v_tree VARCHAR2(100);
BEGIN
if length(:new.IN_CODE)!=4 then
select tree_code
into v_tree
from a10_jgxx
where in_code = substr(:new.IN_CODE,0,length(:new.IN_CODE)-4);
:new.tree_code := v_tree ||'-5'||:new.IN_CODE;
end if;
END;

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧