create or replace procedure date_solar
as
num_eq varchar(36);
sql_d varchar(500);
cursor emp_cursor is select * from solar_invertor;
begin
for solar_data in emp_cursor loop
num_eq := solar_data.snumber;
sql_d := 'insert into solar_invertordata(sheetid,INVERTORID,ACQUISITIONTIME,RUNNINGSTATE,ACVOLTAGE,ACCURRENT,DCVOLTAGE,DCCURRENT,HEATSINKTEMPERATURE,CURPOWER)
select (select sys_guid()from dual),(select '''||num_eq||''' from dual),(select to_char(sysdate,''yyyy-mm-dd hh24:mi'') from dual),RUNNINGSTATE,ACVOLTAGE,ACCURRENT,DCVOLTAGE,DCCURRENT,HEATSINKTEMPERATURE,CURPOWER from solar_invertordata
sample(10) where rownum<2';
execute immediate sql_d;
end loop;
commit;
end;
参考:
http://www.cnblogs.com/Singleorb/p/6231364.html?utm_source=itdadao&utm_medium=referral