--建表
create table table41(
id varchar2(64) not null, --主键
col1 varchar2(2000),
col2 varchar2(2000),
col3 varchar2(2000),
col4 int,
col5 timestamp,
col6 number(19,2),
col7 NUMBER(5),
col8 NUMBER(3),
synTime blob,
constraint table41 primary key (id)
);
--select * from table4;
--select * from table41;
--exec sp_table41_clear;
--exec sp_table41;
--创建数据的存储过程--
CREATE OR REPLACE PROCEDURE sp_table41 IS
CURSOR C_EMP IS
SELECT * FROM table4;
C_ROW C_EMP%ROWTYPE;
BEGIN
FOR C_ROW IN C_EMP LOOP
insert into table41(id,col1,col2,col3,col4,col5,col6,col7,col8)
values((select sys_guid() from dual),C_ROW.col1,C_ROW.col2,C_ROW.col3,C_ROW.col4,sysdate,C_ROW.col6,C_ROW.col7,C_ROW.col8);
END LOOP;
END sp_table41;
--清空数据的存储过程--
CREATE OR REPLACE PROCEDURE sp_table41_clear IS
BEGIN
delete from table41;
END sp_table41_clear;
--存储过程清除数据和生成数据--
CREATE OR REPLACE PROCEDURE sp_table41_all IS
BEGIN
sp_table41_clear;--清除数据
sp_table41; --生成数据
END sp_table41_all;
--存储过程清除数据和生成数据(无删除的存储过程)--
CREATE OR REPLACE PROCEDURE sp_table41_all2 IS
BEGIN
delete from table41;--清除数据
sp_table41; --生成数据
END sp_table41_all2;
--定时器作业--
declare my_job number;
begin sys.dbms_job.submit(
my_job, --任务名称
'sp_table41_all;',--执行的过程
sysdate,--执行时间
--'sysdate+1/(24*60)'--每天1分钟运行一次
'TRUNC(SYSDATE+1)+(1*60+30)/(24*60)'--每天1点半运行一次
--'TRUNC(LAST_DAY(SYSDATE)+5),TRUNC(LAST_DAY(SYSDATE)+6),TRUNC(LAST_DAY(SYSDATE)+7),TRUNC(LAST_DAY(SYSDATE)+8),TRUNC(LAST_DAY(SYSDATE)+9),TRUNC(LAST_DAY(SYSDATE)+10)'--每月的第5天到第10天的1点生成运行
);
end;
--查询作业,取JOB字段值--
select * from dba_jobs;
select * from user_jobs;
--开始作业--
begin
dbms_job.run(4);--41为任务的id
end;
--删除作业--
begin
dbms_job.remove(4);
end;