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窗口正常执行

解决方案 »

  1.   

    oracle版本是11g
      

  2.   

        'XN'||fund.sys_code as system_customer_no 
    这个结果,有重复的。建议查一下
      

  3.   

    把存储过程的sql打印出来,会发现奥秘
      

  4.   


    对这一列group by,发现条数是一样的,说明不存在重复结果。。
      

  5.   

    小弟才疏学浅,不知如何打印sql
      

  6.   

    小弟才疏学浅,不知如何打印sql
    DBMS函数可以
      

  7.   

    感谢回答,上面在sql窗口可以执行插入,sql窗口只是测试,插入数据没提交
      

  8.   

    找到问题了,把唯一索引去掉后再查询,有重复记录,调整了sql语句,问题解决
      

  9.   

    好的,解决了就好。PS:CSDN 推荐的内容有点离谱。