`
alert_mm
  • 浏览: 168502 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

Oracle创建存储过程及job定时实施范例

阅读更多

1) 查询出前一天的数据,并插入到另一表中的存储过程:

----------创建一存储过程:
create or replace procedure P_TEST is
begin
  insert into test_table
    (id, content, account,states)
      select 'ty' || to_char(current_timestamp,'yyyymmddhh24missff'),
           'test content....',
           a.account,
           1
      from intf.serv@databaselink       a,
           intf.merge_staff@databaselink b,
           intf.merge_site@databaselink  c
     where a.begin_staff_id = b.staff_id(+)
       and a.begin_site_id = c.site_id(+)
       and a.begin_date >= TRUNC(SYSDATE-1, 'DD')
       and a.begin_date < TRUNC(SYSDATE, 'DD')
       and a.class_id2 = '111111111';
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
end P_TEST ;

 

 2)定制一job,实时执行创建的存储过程,如下job为每间隔10分钟执行一次:

declare   job1   number(10); 
begin 
  job1:=11; 
  dbms_output.put_line(   job1   ); 

  sys.dbms_job.submit(job => job1,
                      what => 'P_TEST;',
                      next_date => sysdate,
                      interval => 'SYSDATE + 10/(60*24)');
  commit;
end;

 

注意:这句what => 'P_TEST;',这里的存储过程名后面一定要记得加上英文分号。当然如果存储过程要执行的操作比较简单,这里也可以直接写SQL语句,即如:

what => 'UPDATE table_name SET cnt= 0;
COMMIT;',

 

 

3)创建完JOB后发现job不执行,查找原因。一般可能是CJQ0进程失效导致的,此时要重起CJQ0进程。具体操作如下:

       首先设置JOB_QUEUE_PROCESSES为0,Oracle会杀掉CJQ0及相应job进程:

      

ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 0; 

      其次再等2~3分钟后,重新设置:

  

ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 10; 

 

    此时PMON会重起CJQ0进程了。

 

4)Oracle获取时间精确到毫秒:

    

select to_char(current_timestamp,'yyyymmddhh24missff') from test_table;

 

    这里获取的时间就是精确到毫秒以后三位的,如20090409123030230000

  

2
0
分享到:
评论

相关推荐

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    plsql创建存储过程并创建job定时任务执行详细笔记文档总结 在 Oracle 中,plsql 是一种强大的编程语言,可以用来创建存储过程和定时任务执行。在本文中,我们将详细介绍如何使用 plsql 创建存储过程并创建 job 定时...

    oracle存储过程+日期+定时任务Job

    ### Oracle 存储过程 + 日期 + 定时任务 Job #### 一、概述 在 Oracle 数据库中,存储过程是一种可编程的对象,用于执行特定的任务。存储过程可以在数据库服务器上运行,从而提高应用程序的性能并减少网络流量。...

    Oracle定时执行存储过程

    Oracle 定时执行存储过程是一种高效的方式来执行存储过程,通过使用 Oracle 提供的 job 机制来实现。Job 机制允许开发者创建、计划和执行存储过程,实现自动化和批量处理。 Broken() 过程 Broken() 过程用于更新...

    oracle中job调度存储过程 触发器 定时更新数据库.rar

    2. 使用DBMS_SCHEDULER.CREATE_JOB创建Job,指定存储过程作为执行体。 3. 配置Job的执行时间,如频率、开始时间和结束时间。 4. 启动Job,使其开始按照预定计划运行。 5. 如有必要,可以监控和调整Job的运行状态。 ...

    oracle 定时任务,使用存储过程更新数据

    在本主题中,我们将深入探讨如何利用Oracle的存储过程来创建和管理定时任务。 首先,Oracle中的定时任务通常通过“调度器”(DBMS_SCHEDULER)来实现。这个包提供了丰富的功能,允许用户定义任务、设置执行时间、...

    oracle创建存储过程

    根据提供的Oracle存储过程创建示例,我们可以详细地探讨与这些示例相关的Oracle数据库中的关键概念和技术要点。 ### 1. 创建基本的存储过程 #### 1.1 无参数存储过程 ```sql CREATE OR REPLACE PROCEDURE p_...

    oracle job调度存储过程 触发器 定时更新数据库

    1. **创建存储过程**:首先,你需要编写一个存储过程,包含你希望定时执行的逻辑,比如更新数据库中的某些记录。这个过程可能涉及复杂的查询、数据处理或者与业务逻辑相关的操作。 2. **创建调度作业**:使用DBMS_...

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...

    oracle存储过程学习经典入门

    CREATE PROCEDURE 语句是用来创建 Oracle 存储过程的语句,变量声明是用来声明变量的语句,控制语句是用来控制流程的语句,循环语句是用来循环执行的语句。 关于 Oracle 存储过程的若干问题备忘 在学习 Oracle ...

    Oracle Job定时任务

    Oracle Job 定时任务 Oracle Job 定时任务是 Oracle 数据库中的一种定时执行任务的机制,它允许用户在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的 Job 可以通过以下视图查询系统中的 Job: *...

    oracle的job定时

    2. **创建Job**:接下来,我们需要创建一个Job,将存储过程与特定的时间点或时间间隔关联。可以使用`DBMS_SCHEDULER.CREATE_JOB`或`DBMS_JOB.BEGIN_JOB`函数来实现。例如,如果希望每天凌晨1点执行这个任务,我们...

    ORACLE创建过程的语法

    ORACLE创建过程的语法

    ORACLE 存储过程入门范例

    以上就是对"ORACLE 存储过程入门范例"中的关键知识点的详细解释。通过学习和实践这些概念,可以深入理解Oracle存储过程的编写和使用,从而在数据库管理、数据处理和业务逻辑实现上更高效地工作。

    Oracle JOB 定时任务

    Oracle JOB 定时任务 定时执行存储过程

    delphi调用Oracle的存储过程

    ### Delphi调用Oracle的...总结来说,本文详细介绍了如何在Delphi中调用Oracle的存储过程,包括存储过程的创建、Delphi环境的配置以及具体的代码实现。这为开发者提供了一个实用的例子,以便更好地理解和掌握这一技术。

    oracle 存储过程导出excel

    oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel

    oracle分页存储过程

    oracle分页存储过程,oracle分页存储过程

Global site tag (gtag.js) - Google Analytics