您可以使用 Oracle 数据库内置的视图或存储过程来查看存储过程的执行记录。
一种常用的方法是使用 v$session_longops 视图,它显示了当前正在进行的长时间操作。请使用以下语句查询正在执行的存储过程:
SELECT sid, serial#, opname, target, sofar, totalwork, start_time
FROM v$session_longops
WHERE opname like '%存储过程名%';
该语句将返回当前执行的存储过程的 SID,序列号,操作名称,目标,已完成的工作量,总工作量以及开始时间等信息。
您还可以通过创建一个存储过程来记录存储过程的执行时间。请将以下代码片段作为示例:
CREATE OR REPLACE PROCEDURE record_execution_time (p_procedure_name IN VARCHAR2)
BEGIN
INSERT INTO execution_log (procedure_name, start_time, end_time)
VALUES (p_procedure_name, SYSDATE, NULL);
-- 执行存储过程
EXECUTE IMMEDIATE p_procedure_name;
UPDATE execution_log
SET end_time = SYSDATE
WHERE procedure_name = p_procedure_name
AND end_time IS NULL;
END;
该存储过程将记录每次执行存储过程的开始时间和结束时间,并将其存储在「execution_log」表中。您可以随时查询该表以查看存储过程的执行记录。