日期:2014-05-17 浏览次数:20900 次
INSERT INTO NEWTABLE(SELECT 1,DATETIME,temp_1 FROM OLDTABLE ); INSERT INTO NEWTABLE(SELECT 2,DATETIME,temp_2 FROM OLDTABLE ); ... INSERT INTO NEWTABLE(SELECT 200,DATETIME,temp_200 FROM OLDTABLE );
------解决方案--------------------
方法2存储过程的代码,其中TEST表为你的老表,TEST2是你建立的新表
TEST2的建表语句为CREATE TABLE TEST2(DATETIME DATE,ROOM NUMBER,TEMP VARCHAR2(20))
--存储过程代码
CREATE OR REPLACE PROCEDURE TEST99 IS 
I INTEGER;
STRTEMP VARCHAR2(20);
STRTEMP1 VARCHAR2(20);
STRSQL VARCHAR2(4000); 
BEGIN
     STRTEMP:='TEMP_';
     I:=1;
     WHILE I<201 LOOP
     BEGIN
     STRTEMP1:=STRTEMP||I;
     STRSQL:='INSERT INTO TEST2(SELECT DATETIME,'||I||','||STRTEMP1||' FROM TEST)';
     EXECUTE IMMEDIATE STRSQL;
     I:=I+1;
     END;
     END LOOP;
     COMMIT;
END;