zoukankan      html  css  js  c++  java
  • Orcle定时生成表数据作业

    --建表
    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;
  • 相关阅读:
    utf8编码和中文不能解码问题解决
    python环境的安装配置
    repo同一个仓的同一个changeId的提交
    Jenkins pipeline之将命令的运行结果赋值给变量
    repo和git常用的命令和场景
    docker 安装rabbitmq
    docker的一些概念
    mysql数据库sql优化原则
    数据库优化02
    MySQL数据库优化总结
  • 原文地址:https://www.cnblogs.com/xmqa/p/7149571.html
Copyright © 2011-2022 走看看