TARG_ID NUMBER(10)
YEAR NUMBER(4)
PLACE_NODE NUMBER
PLACE_TYPE NUMBER(3)
AREA_CODE NUMBER(5)
MON_1 NUMBER
MON_2 NUMBER
MON_3 NUMBER
MON_4 NUMBER
MON_5 NUMBER
MON_6 NUMBER
MON_7 NUMBER
MON_8 NUMBER
MON_9 NUMBER
MON_10 NUMBER
MON_11 NUMBER
MON_12 NUMBER
TYPE_ID NUMBER(2)
表结构。
这个是一个过程。我想是!取出某个月的数据比如取3月份的数据那么久插入到MON_3里面请问怎么判断插入!!
YEAR NUMBER(4)
PLACE_NODE NUMBER
PLACE_TYPE NUMBER(3)
AREA_CODE NUMBER(5)
MON_1 NUMBER
MON_2 NUMBER
MON_3 NUMBER
MON_4 NUMBER
MON_5 NUMBER
MON_6 NUMBER
MON_7 NUMBER
MON_8 NUMBER
MON_9 NUMBER
MON_10 NUMBER
MON_11 NUMBER
MON_12 NUMBER
TYPE_ID NUMBER(2)
表结构。
这个是一个过程。我想是!取出某个月的数据比如取3月份的数据那么久插入到MON_3里面请问怎么判断插入!!
然后INSERT/*+*/ INTO tablename
( TARG_ID,
MON_||v_number||
) 这样能读取的到V_NUMBER吗 我还不知道行不行求牛人有没有其他的办法!!
update
end if
(
targ_id NUMBER(10),
year NUMBER(4),
mon_1 NUMBER,
mon_2 NUMBER,
mon_3 NUMBER,
mon_4 NUMBER,
mon_5 NUMBER,
mon_6 NUMBER,
mon_7 NUMBER,
mon_8 NUMBER,
mon_9 NUMBER,
mon_10 NUMBER,
mon_11 NUMBER,
mon_12 NUMBER, )--要被插入数据的表
create table table2
( year_id number(4),
month_id number(6),
numbertwo varchar2(30)
);insert into table2(year_id,month_id,numbertwo) values('201203','111111');
insert into table2(year_id,month_id,numbertwo) values('201203','222222');
insert into table2(year_id,month_id,numbertwo) values('201203','333333');
insert into table2(year_id,month_id,numbertwo) values('201203','444444');
insert into table2(year_id,month_id,numbertwo) values('2012','201203','222222');
insert into table2(year_id,month_id,numbertwo) values('2012','201203','333333');
insert into table2(year_id,month_id,numbertwo) values('2012','201203','444444');年数据忘记加了。
execute immediate strsql using 放TARG_ID的值的变量 , 放月份的值的变量;
v_insert_sql varchar2(4000);
begin
for i in (select * from table2) loop
v_insert_sql := 'insert into TF_CONTRACT_TARGET_DATA(year,mon_'||trim(leading '0' from substr(i.month_id,5,2))||')values(:1,:2)';
execute immediate v_insert_sql using i.year_id,i.numbertwo;
commit;
end loop;
end; TARG_ID YEAR MON_1 MON_2 MON_3 MON_4 MON_5 MON_6 MON_7 MON_8 MON_9 MON_10 MON_11 MON_12
----------- ----- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
2012 111111
2012 222222
2012 333333
2012 444444
这种循环insert为什么还设计那么多的月份字段呢???
何等的浪费