奇怪的问题,sql语句在sql窗口可以执行,但是存储过程报错

monster_2019 2018-01-04 04:52:52
sql语句如下
insert into tb_customer_info(id,CUSTOMER_NAME,system_customer_no,CUSTOMER_TYPE)
select
TAX_SEQUENCE.NEXTVAL,
a.CUSTOMER_NAME,
a.system_customer_no,
3 from(select
fund.sys_code||'虚拟客户' as CUSTOMER_NAME,
'XN'||fund.sys_code as system_customer_no
from tb_output_fund_product fund
where fund.fundraising_channel='3'
and 'XN'||fund.sys_code not in
(select cust.system_customer_no from tb_customer_info cust))a;

在存储过程报错,在sql窗口正常执行
...全文
1195 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
monster_2019 2018-01-05
  • 打赏
  • 举报
回复
引用 9 楼 acen_chen 的回复:
和数据库里面已有的数据也不重复? 而且我看你过程后面也有插入这表的语句,确保也没问题?
感谢回答,上面在sql窗口可以执行插入,sql窗口只是测试,插入数据没提交
卖水果的net 2018-01-05
  • 打赏
  • 举报
回复
先把这个 唯一索引(约束)删掉,再执行你这个过程,提交完成后,你再查一下重复值。应该能很快找到问题。
acen_chen 2018-01-05
  • 打赏
  • 举报
回复
和数据库里面已有的数据也不重复? 而且我看你过程后面也有插入这表的语句,确保也没问题?
ZHOU西口 2018-01-05
  • 打赏
  • 举报
回复
引用 6 楼 q769523503 的回复:
[quote=引用 4 楼 splendid_java 的回复:] 把存储过程的sql打印出来,会发现奥秘
小弟才疏学浅,不知如何打印sql[/quote] DBMS函数可以
monster_2019 2018-01-05
  • 打赏
  • 举报
回复
引用 2 楼 acen_chen 的回复:
数据一样吗。。。
一样的
monster_2019 2018-01-05
  • 打赏
  • 举报
回复
引用 4 楼 splendid_java 的回复:
把存储过程的sql打印出来,会发现奥秘
小弟才疏学浅,不知如何打印sql
monster_2019 2018-01-05
  • 打赏
  • 举报
回复
引用 3 楼 wmxcn2000 的回复:
'XN'||fund.sys_code as system_customer_no


这个结果,有重复的。建议查一下


对这一列group by,发现条数是一样的,说明不存在重复结果。。
卖水果的net 2018-01-05
  • 打赏
  • 举报
回复
好的,解决了就好。 PS:CSDN 推荐的内容有点离谱。
monster_2019 2018-01-05
  • 打赏
  • 举报
回复
引用 10 楼 wmxcn2000 的回复:
先把这个 唯一索引(约束)删掉,再执行你这个过程,提交完成后,你再查一下重复值。应该能很快找到问题。

找到问题了,把唯一索引去掉后再查询,有重复记录,调整了sql语句,问题解决
ZHOU西口 2018-01-04
  • 打赏
  • 举报
回复
把存储过程的sql打印出来,会发现奥秘
卖水果的net 2018-01-04
  • 打赏
  • 举报
回复
'XN'||fund.sys_code as system_customer_no 这个结果,有重复的。建议查一下
acen_chen 2018-01-04
  • 打赏
  • 举报
回复
数据一样吗。。。
monster_2019 2018-01-04
  • 打赏
  • 举报
回复
oracle版本是11g

17,082

社区成员

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

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