今天遇到一個問題:
在insert into select后面用序列時報錯
insert into R_POL_VIPO(id,SUMVIPONUM,STATSTICSDATE)
select R_POL_VIPO_seq.Nextval,VIPONUM,sysdate
from R_POL_VIPO
where YEAR=substr(v_date,0,4) and MONTH=substr(v_date,5);


ORA-02287:此處序號不許使用
將其改成如下形式編譯就通過了:
insert into R_POL_VIPO(id,SUMVIPONUM,STATSTICSDATE)
select R_POL_VIPO_seq.Nextval,b.*
from (select VIPONUM,sysdate
from R_POL_VIPO
where YEAR=substr(v_date,0,4) and MONTH=substr(v_date,5)) b;


INSERT INTO EX_EDM_DAILY_SENDED (ID ,DETAIL_ID,TASK_ID,USER_ID,PROJECT_ID, DATA_TYPE,EMAIL ,CONTENT3,CONTENT2 ,CONTENT1 ,REAL_STATUS,SHAM_STATUS,OPEN_TIME,OPEN_COUNT,OPEN_IP ,OPEN_CITY,CLICK_TIME,CLICK_COUNT ,CLICK_IP ,CLICK_CITY ,REGISTE_TIME,SEND_TIME,SEND_IP,SEND_NAME,RESEND_COUNT,CATEGORY ,LOCAL_CODE ,LOCAL_MSG,ESP_CODE ,ESP_MSG ,DELETE_FLAG,CREATE_TIME,REMARK) SELECT EX_EDM_SEQ_DAILY_SENDED.NEXTVAL,ID,TASK_ID,USER_ID,PROJECT_ID,DATA_TYPE,EMAIL ,CONTENT3,CONTENT2 ,CONTENT1 ,REAL_STATUS,SHAM_STATUS,OPEN_TIME,OPEN_COUNT,OPEN_IP ,OPEN_CITY,CLICK_TIME,CLICK_COUNT ,CLICK_IP ,CLICK_CITY ,REGISTE_TIME,SEND_TIME,SEND_IP,SEND_NAME,RESEND_COUNT,CATEGORY ,LOCAL_CODE ,LOCAL_MSG,ESP_CODE,ESP_MSG ,DELETE_FLAG,CREATE_TIME,REMARK FROM
上以這句在java jdbc里執行是沒有問題的.
本文出自 “水滴” 博客,請務必保留此出處http://407882.blog.51cto.com/397882/594736