INSERT INTO co2521_data (rggt_id,CPMC,PPMC,GGXH,SSQ,DQ,CS,ZTXZ,WZZT,ZMJ,ZZS,FONTSIZE,WZXSFL,YMGG,WZNRFL,JCZB1,JCZB2,JCZB3,JCZB4,JCZB5,INFO_1,WZH,MTRQ,info_3,bmmc,info_2,MTMC) SELECT xl_rggt_id_hair.NEXTVAL rggt_id,product,brand,model,province,city_type,city,store_type,STORE,SALES,sales_price,avg_price,product_type,product_cubage,ref_CT,air_power,air_YN,ref_DN,wm_LCD,wm_DRY,ctv_SCR,MONTH,TO_DATE(data,'yyyy-mm-dd'),'0',storenum,first_time,MTMC FROM SALES2008041306; commit; INSERT INTO co2521_smy (rggt_id) SELECT rggt_id FROM co2521_data WHERE INFO_3='0'; commit; INSERT INTO co2521_rggsjk (rggt_id,CPMC,PPMC,GGXH,SSQ,DQ,CS,ZTXZ,WZZT,ZMJ,ZZS,FONTSIZE,WZXSFL,YMGG,WZNRFL,JCZB1,JCZB2,JCZB3,JCZB4,JCZB5,INFO_1,WZH,MTRQ,bmmc,info_2,MTMC) SELECT rggt_id,CPMC,PPMC,GGXH,SSQ,DQ,CS,ZTXZ,WZZT,ZMJ,ZZS,FONTSIZE,WZXSFL,YMGG,WZNRFL,JCZB1,JCZB2,JCZB3,JCZB4,JCZB5,INFO_1,WZH,MTRQ,bmmc,info_2,MTMC FROM co2521_data WHERE INFO_3='0'; commit; INSERT INTO all SELECT * FROM co2521_data WHERE INFO_3='0'; commit; call splitinfo(2521);
最有可能你co2521_data有几个主键 造成rggt_id有重复的数据 你改成这样试试INSERT INTO co2521_smy (rggt_id) SELECT distinct rggt_id FROM co2521_data WHERE INFO_3='0';
INSERT INTO co2521_data (rggt_id,CPMC,PPMC,GGXH,SSQ,DQ,CS,ZTXZ,WZZT,ZMJ,ZZS,FONTSIZE,WZXSFL,YMGG,WZNRFL,JCZB1,JCZB2,JCZB3,JCZB4,JCZB5,INFO_1,WZH,MTRQ,info_3,bmmc,info_2,MTMC) SELECT xl_rggt_id_hair.NEXTVAL rggt_id,product,brand,model,province,city_type,city,store_type,STORE,SALES,sales_price,avg_price,product_type,product_cubage,ref_CT,air_power,air_YN,ref_DN,wm_LCD,wm_DRY,ctv_SCR,MONTH,TO_DATE(data,'yyyy-mm-dd'),'0',storenum,first_time,MTMC FROM SALES2008041306;
commit;
INSERT INTO co2521_smy (rggt_id) SELECT rggt_id FROM co2521_data WHERE INFO_3='0';
commit;
INSERT INTO co2521_rggsjk (rggt_id,CPMC,PPMC,GGXH,SSQ,DQ,CS,ZTXZ,WZZT,ZMJ,ZZS,FONTSIZE,WZXSFL,YMGG,WZNRFL,JCZB1,JCZB2,JCZB3,JCZB4,JCZB5,INFO_1,WZH,MTRQ,bmmc,info_2,MTMC) SELECT rggt_id,CPMC,PPMC,GGXH,SSQ,DQ,CS,ZTXZ,WZZT,ZMJ,ZZS,FONTSIZE,WZXSFL,YMGG,WZNRFL,JCZB1,JCZB2,JCZB3,JCZB4,JCZB5,INFO_1,WZH,MTRQ,bmmc,info_2,MTMC FROM co2521_data WHERE INFO_3='0';
commit;
INSERT INTO all SELECT * FROM co2521_data WHERE INFO_3='0';
commit;
call splitinfo(2521);
造成rggt_id有重复的数据
你改成这样试试INSERT INTO co2521_smy (rggt_id) SELECT distinct rggt_id FROM co2521_data WHERE INFO_3='0';
分多次INSERT,在INSERT语句最后多几次WHERE筛选,一次次的筛选找出出问题的数据。