oracle 使用 dbms_lock.sleep暂停存储过程执行

grant execute on dbms_lock to USERNAME;

?

dbms_lock.sleep(time)参数单位为秒

?

create
or
replace
procedure initdata is

num number
:=
0;

begin

?

for i in
1 .. 500
loop

?

num := num +
1;

if num >=
1000
then

dbms_lock.sleep(5);

num :=
0;

dbms_output.put_line(‘暂停5秒‘);

?

end
if;

end
loop;

?

end initdata;

oracle 使用 dbms_lock.sleep暂停存储过程执行

时间: 2024-11-09 05:43:18

oracle 使用 dbms_lock.sleep暂停存储过程执行的相关文章

Oracle存储过程----存储过程执行简单的增删改查

1.存储过程执行增加的sql create or replace procedure test_add(id varchar,name varchar,time varchar,age varchar,sex varchar) is begin insert into table(id,name,time,varchar,age,sex); commit; end; 执行语句如下: set serveroutput on; call test_add('01','zhangsan','2019-

改写了禁用或启用oracle数据库的约束的存储过程

改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutput on;    ----以便打印出输出禁用约束检查 exec MANAGE_USER_CONSTRAINTS('disable',true,true,true); 启用约束 exec MANAGE_USER_CONSTRAINTS('enable',true,true,true); CREATE

存储过程执行失败与sql668n

某日监控报存储过程执行失败,查看返回码为sql668n [[email protected] bin]$ db2 ? sql668n SQL0668N Operation not allowed for reason code "<reason-code>" on table "<table-name>". Explanation: Access to table "<table-name>" is restr

oracle恢复被覆盖的存储过程

如果你不小心覆盖了之前的存储过程,那得赶紧闪回,时长越长闪回的可能性越小.原理很简单,存储过程的定义就是数据字典,修改数据字典跟修改普通表的数据没有区别,此时会把修改前的内容放到undo中,我们可以根据这一点来进行闪回,所以我说要尽快,要不然找不回来了.下面我们来做一个实验: 1.在用户TEST下14:31下建立存储过程 create or replace procedure GG_TEST as l_cnt number; begin for i in 1 .. 10000 loop exec

sqlServer 存储过程执行遇到的问题及解决方案

1.EXEC 执行Sql语句被截断的问题: Sql语句: 1 SET @sqlSel='SELECT '+@sqlField+', 2 SUM(ISNULL(b.customsTariff_Sup,0))AS customsTariff_Sup,SUM(ISNULL(addedValueTax_Sup,0))AS addedValueTax_Sup,SUM(ISNULL(ConsumptTax_Sup,0))AS ConsumptTax_Sup, 3 SUM(ISNULL(customsTari

DBA工具——DMV——通过sys.dm_exec_procedure_stats查看存储过程执行信息

原文:DBA工具--DMV--通过sys.dm_exec_procedure_stats查看存储过程执行信息 对于DBA来说,经常要手机存储过程的某些信息: 执行了多少次 执行的执行计划如何 执行的平均读写如何 执行平均需要多少时间 列名 数据类型 说明 database_id int 存储过程所在的数据库 ID. object_id int 存储过程的对象标识号. type char(2) 对象的类型: P = SQL 存储过程 PC = 程序集 (CLR) 存储过程 X = 扩展存储过程 t

oracle入门(7)——存储过程

[本文介绍] 熟悉了PL/SQL语法后,实现java调用oracle存储过程才是主要目的.本文将介绍如何写存储过程,java如何调用存储过程. [存储过程介绍] 抛开专业的描述,存储过程就是在数据库里面写了一些函数,我们在代码(如java)里面调用这些函数实现对数据库的操作,避免了数据库对SQL语句的解析,对于需要发送多条SQL语句才能完成的数据库操作功能来说,速度上升了一个档次.不过程序在操纵数据库这一块 的维护性会降低,因为存储过程是写在数据库,不是写在程序里. [如何写有能传值 并且 有返

安装wls报(主清单位置 &quot;/u01/app/oracle/inventory&quot; 无效 (无法读取/写入/执行))

安装出现的错误: [[email protected] ~]$ java -jar fmw_12.1.3.0.0_wls.jar 启动程序日志文件为/tmp/OraInstall2019-07-31_10-09-36AM/launcher2019-07-31_10-09-36AM.log. 正在提取文件...... 主清单位置 "/u01/app/oracle/inventory" 无效 (无法读取/写入/执行). [[email protected] ~]$ 解决: 1.在wls主清

C#执行oracle返回游标类型的存储过程

C#执行oracle存储过程,存储过程代码为: create or replace procedure proc_test(pCursor OUT pak_pub.ut_cursor) AS begin open pCursor for select * from scott.emp; end proc_tes; 其中pak_pub.ut_cursor的定义为: create or replace package pak_pub as type ut_cursor is ref cursor;