SYS_PROCEDURE_CALL - Amazon Redshift

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)