为了账号安全,请及时绑定邮箱和手机立即绑定

请问我这个触发器应该如何修改,应该是错在if条件这里

请问我这个触发器应该如何修改,应该是错在if条件这里

黎诺 2018-07-12 14:19:50
create or replace trigger addRecord after updateon t_carbegin  if t_car.car_exhibit ='不可租' then   insert into t_car_rent values('1','1',500, (select sysdate from dual) ,(select sysdate + interval '7' day  from dual));    end if;  end;/
查看完整描述

3 回答

已采纳
?
sunbohan00

TA贡献44条经验 获得超73个赞

第一点:你给我的回答,所有东西都堆在一起,根本不知道哪里是断句,这是最基础的表达方法

第二点:你所贴出的答案,根本不足以找到正确解决问题的方法

第三点:你的字段为什么要存汉字呢?很容易出问题的,存0和1不行吗,在该字段加上备注。

0为可租,1为不可租。除非是存名字 存地址 存备注用汉字,其他字段最好不要用汉字进行匹配判断

查看完整回答
1 反对 回复 2018-07-12
?
sunbohan00

TA贡献44条经验 获得超73个赞

是因为触发器没有生效,不能触发是吗。

car_exhibit这个字段里存的也是 ,不可租 这三个字吗,字符编码有没有变化是否可以验证


查看完整回答
反对 回复 2018-07-12
  • 黎诺
    黎诺
    我找到报错了 是Compilation errors for TRIGGER TC31.ADDRECORD Error: PLS-00357: 在此上下文中不允许表, 视图或序列引用 'T_CAR.CAR_EXHIBIT' Line: 5 Text: if t_car.car_exhibit='可租'then Error: PL/SQL: Statement ignored Line: 5 Text: if t_car.car_exhibit='可租'then 是触发器里面不可以引用表中字段的值吗.. 我的表里理论上只有可租和不可租,当我的字段是不可租的时候 往另一张表中插入数据
  • 3 回答
  • 0 关注
  • 1949 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信