oracle job

--创建表空间,系统用户建立
create tablespace tstest
datafile 'C:\oraclexe\oradata\XE/tstest01.dbf'
size 100m
autoextend on
next 50m
maxsize 1000m;
--删除表空间
DROP tablespace tstest INCLUDING CONTENTS AND DATAFILES;

--创建用户
create user test identified by test default tablespace tstest temporary tablespace TEMP;
grant connect,dba,resource to test ;
--删除用户
drop user test cascade;

--创建表
CREATE TABLE tb_test
(
id VARCHAR2(100) PRIMARY KEY,
name VARCHAR2(100),
age VARCHAR2(100),
sex VARCHAR2(100)
);

--创建一个存储过程用来删除表中过期数据
CREATE OR REPLACE PROCEDURE INSERT_EXPIRY_DATAS
IS
BEGIN
insert into tb_test(id,name,age,sex) values (sysdate,'tom','12','boy');
END;
/

--定义一个调度的程序,用来调用这个存储过程,需sysdba的权限创建!
begin
    DBMS_SCHEDULER.CREATE_PROGRAM(
    program_name => 'Program',
    program_type => 'STORED_PROCEDURE',
    program_action => 'INSERT_EXPIRY_DATAS',
    number_of_arguments => 0,
    enabled => true
    );
end;
/

--执行一个程序
EXEC DBMS_SCHEDULER.RUN_PROGRAM('Program');
--删除一个程序
EXEC DBMS_SCHEDULER.DROP_PROGRAM('Program');



--定义一个调度的作业,用来调用这个程序 (每天 17:30:00执行),需sysdba的权限创建!
begin
    DBMS_SCHEDULER.CREATE_JOB(
    job_name => 'jobInsert',
    program_name => 'Program',
    start_date => null,
    repeat_interval => 'freq=daily;byhour=18;byminute=46;bysecond=00',
    end_date => null,
    job_class => 'DEFAULT_JOB_CLASS',
    enabled => true,
    auto_drop => true
    );
end;
/


--执行这个作业
EXEC DBMS_SCHEDULER.RUN_JOB('jobInsert');
--删除一个作业
EXEC DBMS_SCHEDULER.DROP_JOB('jobInsert');

你可能感兴趣的:(oracle,C++,c,C#)