`
zh52722
  • 浏览: 6469 次
社区版块
存档分类
最新评论

Oracle 存储过程删除表数据

阅读更多

      Oracle中,可能会遇到写这样的存储过程,先删除表数据,然后向表中插入数据,对于我们新手来说,很容易遇到这样的问题,直接调用 truncate table tablename; 这样会报错的,正确的写法如下:

 

       create or replace procedure procedurename

          begin

           execute immediate 'TRUNCATE TABLE ds_dwsjfx';

           insert into ds_dwsjfx select * from ...;

           commit;

          end procedurename;

 

         存储过程写完以后,如果想每天定时调用这个存储过程,应该怎么实现,本人开始的做法是:

         先写个方法来实现删除、插入的操作,然后来个定时器每天定时来执行这个方法,最后再来个监听器监听定时器;这样的做法虽然能实现我想要的东西,但有点麻烦。在数据库中可以直接实现这样的功能:

         首先写好自己需要的存储过程,接下来就很重要了:

         创建job,在PL/SQL的Command Window下执行如下语句:

         variable sjfx_job number;                                   --唯一标识job

          begin

           sys.dbms_job.submit(job => :sjfx_job,         

                      what => 'procedurename;',               --调用存储过程

                      next_date => sysdate,                       --下次执行时间

                      interval => 'sysdate+1');                    --执行间隔

            commit;

         end;

          /

        这样既可每天定时执行自己的存储过程

分享到:
评论

相关推荐

    oracle定时删除表空间的数据并释放表空间

    Oracle数据库定时删除表空间的数据并释放表空间是通过创建存储过程和定时任务来实现的。下面详细讲解该知识点: 一、创建存储过程 首先,需要创建一个存储过程来删除过期的数据。该存储过程将计算出当前时间减去七...

    Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

    Oracle 表删除大量数据后查询变慢问题分析 在 Oracle 数据库中,如果删除了大量数据(千万级别),可能会出现查询变慢的问题。下面我们将分析这个问题的原因,并提供解决方案。 问题的原因主要有两个方面: 1. 表...

    Oracle 定时删除数据 并释放空间

    Oracle 定时删除数据 并释放空间 ,创建存储过程并使用job完成。

    oracle使用dblink高速复制表数据的动态存储过程

    执行存储过程,通过指定目标数据库登录信息,动态生成dblink,打开游标,按批次插入本地指定表中,每批次1万条数据。同步记录和日志信息写在自动生成的sync_log表中。同步完成后自动删除动态生成的存储过程、dblink...

    Oracle删除亿级表数据的参考方法

    1、使用存储过程的方法 2、使用游标的方法 3、进行对表数据的维护 4、执行表正确的CBO操作

    oracle批量删除数据

    优点:删除速度快,100万记录大约3分钟。 但是不能删除某段时间的数据,大家研究出来记得共享。

    Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包

    Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包 Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包

    oracle数组存储过程批量插入

    今天做了一个关于短消息批量删除的功能, 刚开始准备在后台用循环来逐条删除,后来因为其它功能模块也会用到大批量删除数据。 所以就决定用 数组作为存储过程的参数进行传值,在存储过程中批量删除。说实话这个...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended,由于删除触发器引起的。数据交换不能再建触发器。

    清空删除所有表和存储过程

    清空删除所有表和存储过程,可迅速实现数据库的清空。而不用管其它主从关联关系。方便DBA使用。

    ORACLE 表数据写成TXT文本,CVS等格式存储过程

    ORACLE 表数据写成TXT文本,CVS等格式存储过程,过程内还带有批量删除功能,网上这类语句不多,现本人拿出来供大家学习学习。相互提高。

    Oracle中大批量删除数据的方法

    Oracle中大批量删除数据的方法 Oracle中大批量删除数据的方法是数据库管理员和开发者们经常面临的挑战之一。当数据库中的数据量非常大时,删除数据的操作可能会变得非常慢,甚至影响到整个数据库的性能。因此,...

    定期删除数据表里数据方法汇总

    定期删除数据表里数据方法汇总 包含作业 存储过程等

    重新找回更新的数据表或删除的存储过程方法

    删除或更新的数据表或存储过程,想要重新找回,这里有介绍

    linux oracle 建表,表空间以及删除命令

    临时表空间是 Oracle 数据库中的一种特殊表空间,用于存储临时数据。建立临时表空间的命令为:CREATE TEMPORARY TABLESPACE temp_data TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M;其中,temp_data 是...

    oracle临时表(事务级、会话级).docx

    当会话或事务结束时,临时表中的数据自动清空,但是临时表的结构和元数据还存储在用户的数据字典中。 会话级临时表 会话级临时表是指临时表中的数据只在会话生命周期中存在,当用户退出会话结束的时候,Oracle ...

    oracle创建数据库表空间.doc

    数据表空间用于存储实际数据,例如用户数据、索引、LOB 等。创建数据表空间的语法如下: ```sql CREATE TABLESPACE test_data DATAFILE '/data/oracle/oradata/test/test_data01.dbf' SIZE 64m AUTOEXTEND ON NEXT ...

    oracle储存过程

    oracle数据库的储存过程游标法,新增,删除,更新数据。

    oracle数据库中查看系统存储过程的方法

    您可能感兴趣的文章:Oracle存储过程游标用法分析oracle存储过程常用的技巧(详)asp.net中调用oracle存储过程的方法C#调用Oracle存储过程的方法oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)Oracle存储过程

    解决ORACLE死锁问题

    当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态, 此时的现象是这条语句一直在执行,但一直没有执行成功,也没有...

Global site tag (gtag.js) - Google Analytics