ORA-00984错误:列在此处不允许

select A.channel_id as "频道ID",C.Name as "频道名称",B.id as "应用ID",B.Name as "应用名称" from work_channel_app A ,work_app B,work_channel C where A.App_Id= B.Id and C.id=1 and A.Channel_Id=1


------ORA-00984列在此处不允许解决方法--------------------------------------------------------
execute immediate 'insert into broker_fund values
(r_hfhd.initdate,r_br.broker_no,r_br.cust_no,r_br.exch_code,r_br.vari_code,r_br.ret_mode,r_br.amt,(r_br.total_fare-r_br.exch_fare)*amt) '
该语句写错了,你的变量在这全变成了字符串了,可以使用


declare
....
amt1 number;
begin
....
amt1 := r_br.total_fare*amt;
execute immediate 'insert into broker_fund(tx_date,broker_no,cust_no,exch_code,vari_code,ret_mode,amt,fare) values
(:initdate,:broker_no,:cust_no,:exch_code,:vari_code,:ret_mode,:amt,:total_fare) '
using r_hfhd.initdate,r_br.broker_no,r_br.cust_no,r_br.exch_code,r_br.vari_code,r_br.ret_mode,r_br.amt,amt1;
....
end ;

------解决方法--------------------------------------------------------
IF r_br.ret_mode= '2 '

把该情况的sql单独在数据库里执行一下看看有没有什么错误 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值