oracle中如何得到执行存储过程的开始和结束时间

我现在需要得到 执行一个存储过程的开始时间和执行成功后的结束时间,我该怎么做啊,不要用工具,直接用sql语句或者函数 ,触发器之类的 ,有知道的请立马回复我哦,很急的...

需要在存储过程中定义的时候把开始执行时间和结束时间打印出来。

举例如下:

创建存储过程:

create or replace procedure p_test
as
v_begintime varchar2(20);
v_endtime varchar2(20);
v_str varchar2(10);
begin
  v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
  select 'badkano' into v_str from dual;
  v_endtime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
  dbms_output.put_line('开始时间为:'||v_begintime);
  dbms_output.put_line('结束时间为:'||v_endtime);
end;
end;

执行存储过程:

begin
  p_test;
end;

执行结果:

说明:由于样例存储过程过于简单,但在进行过多数据处理的时候,看到的结果会比较明显。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-06
在存储过程的最前面获取一个时间,在最后面获取一个时间,2个时间相减如果是0不要怀疑这个做法,没有万条以上的记录测试应该看不出时间差
第2个回答  2012-02-24
在存储过程开始、结束的时候输出时间就可以了啊
dbms_output.put_line('begin :'||to_char(sysdate,'yyyymmdd hh24:mi:ss');

oracle中如何得到执行存储过程的开始和结束时间
需要在存储过程中定义的时候把开始执行时间和结束时间打印出来。举例如下:创建存储过程:create or replace procedure p_testasv_begintime varchar2(20);v_endtime varchar2(20);v_str varchar2(10);begin v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'); select 'badkano' into...

怎样使用oracle自动执行存储过程?
创建存储过程:首先需要创建一个需要定时执行的存储过程。创建作业:使用DBMS_SCHEDULER创建一个作业,指定需要执行的存储过程和执行时间。例如,可以创建一个每天固定时间执行的作业。BEGINDBMS_SCHEDULER.CREATE_JOB ( job_name => 'MY_JOB', job_type => 'STORED_PROCEDURE', job_actio...

Oracle 延时执行问题求指教:
存储过程P1取当前时间,取A表设置延后的时间,然后循环判断,直到达到执行存储P2的时间,则停止循环开始执行P2,最后完成P1的执行。

oracle存储过程时间调用
-- 每周一凌晨2点执行 周一是每周的第二天next_day(sysdate,2)同理周二是第三天,next_day(sysdate,3)dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(next_day(sysdate,2))+2\/24');-- 每月1日凌晨两点执行 dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(LAST_DAY(SY...

oracle如何查看存储过程,存储函数,触发器的具体内容
为了查看Oracle数据库中的存储过程、存储函数和触发器的具体内容,可以采用以下步骤。首先,在PL\/SQL Developer中启用输出设置,通过执行"set serveroutput on"命令来实现。接下来,通过查询"USER_SOURCES"表来查看存储过程、存储函数和触发器。例如,要查看名为"GET_DEPT_SUMSAL"的存储函数,需要执行SQL...

Oracle执行\/调用存储过程
让我们通过一个示例进行说明。实例:执行pro_insertDetp存储过程 首先,创建一个存储过程,用于向dept表中插入一条记录,代码如下:执行此命令:EXECUTE pro_insertDept;可以在PL\/SQL程序块中调用存储过程。例如,使用以下步骤:设置服务器输出功能 开始新程序块 调用存储过程 结束程序块 ...

怎么才oracle中查看存储过程
1、执行语句:SELECT text FROM user_source WHERE NAME = 'Procedure Name'ORDER BY line;--其中Procedure Name为存储过程名字,需要全部用大写英文。2、如要查P_TEST的存储过程:SELECT text FROM user_source WHERE NAME = 'P_TEST'ORDER BY line;3、内容如下:二、工具查看:1、...

oracle中怎么结束存储过程
存储过程名称';2. 在V$SESSION视图中查找到查出SID和SERIAL SELECT SID,SERIAL#,FROM V$SESSION WHERE SID='刚才查到的SID'。3.杀掉查找出来的进程 alter system kill session 'SID,SERIAL#' immediate;解释:进程都有唯一的进程id(SID)和序列号(SERIAL#),之后通过kill命令即可强制停止进程。

oracle带参(传入,传出)的存储过程怎么执行
1、新建存储过程,Create or Replace Procedure CHK_SYS_EMP 检查系统工号。2、定义参数及变量:(TREV IN VARCHAR2,TRES OUT VARCHAR2) IS C_EMP VARCHAR2(25)。3、存储过程框架用Begin开始,End结束。4、查看需要调用表的结构以及相关字段。会用到表中的 EMP_NO ENABLED。5、存储过程按需添加SQL...

oracle查看执行过哪些存储过程
select t.sql_id,t.sql_text,s.plan_hash_value,s.optimizer_cost,s.executions_total,s.elapsed_time_total,s.disk_reads_total,s.buffer_gets_totalfrom DBA_HIST_SQLSTAT s, DBA_HIST_SQLTEXT twhere s.sql_id=t.sql_idand t.sql_text like'%存储过程名称%';没有想到其他好办法,确实...

相似回答