SYS_PROCEDURE_CALL
Utilice la vista SYS_PROCEDURE_CALL para obtener información sobre las llamadas a procedimientos almacenados, incluida la hora de inicio, la hora de finalización, el estado de una llamada a un procedimiento almacenado y la jerarquía de llamadas para las llamadas a procedimientos almacenados anidados. Cada llamada de procedimiento almacenado recibe un ID de consulta.
SYS_STORED_PROC_CALL es visible para todos los usuarios. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.
Columnas de la tabla
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
session_user_id | integer | Identificador del usuario que ha creado la sesión y es el invocador de la llamada al procedimiento almacenado de nivel superior. |
security_user_id | integer | Identificador del usuario cuyos privilegios se utilizaron para ejecutar la instrucción en el procedimiento almacenado. Si el procedimiento almacenado es DEFINER, este será el user_id propietario del procedimiento almacenado. |
query_id | integer | El identificador de consulta de la llamada al procedimiento almacenado. |
query_text | char(4000) | El texto de la consulta de llamada al procedimiento almacenado. |
start_time | Marca de tiempo | La hora en UTC en la que comenzó a ejecutarse la consulta. Por ejemplo, la marca temporal utiliza seis dígitos de precisión para los segundos fraccionarios. 2009-06-12 11:29:19.131358. |
end_time | Marca de tiempo | La hora en UTC a la que terminó de ejecutarse la consulta. La marca temporal utiliza seis dígitos de precisión para los segundos fraccionarios, por ejemplo: 2009-06-12 11:29:19.131358. |
estado | char(10) | El estado de la llamada al procedimiento almacenado. Cuando el sistema detiene el procedimiento almacenado o el usuario lo cancela, se anula el valor. Si la llamada al procedimiento almacenado se ejecuta hasta completarse, el valor es correcto. |
caller_procedure_query_id | integer | Si la llamada al procedimiento almacenado la invocó otra llamada a procedimiento almacenado, esta columna contiene el ID de consulta de la llamada externa. De lo contrario, el campo es NULL. |
Consultas de ejemplo
La siguiente consulta devuelve una jerarquía de llamadas a procedimientos almacenados anidados.
select query_id, datediff(seconds, start_time, end_time) as elapsed_time, status, trim(query_text) as call, caller_procedure_query_id from sys_procedure_call;
Resultados de ejemplo.
query_id | elapsed_time | status | call | caller_procedure_query_id
----------+--------------+---------+--------------------------------------------------+---------------------------
3087 | 18 | success | CALL proc_bd906c98c45443ffa165e9552056902d(1) | 3085
3085 | 18 | success | CALL proc_bd906c98c45443ffa165e9552056902d_2(1); |
(2 rows)