2012-08-28 14 views
5

Quiero obtener el nombre de un parámetro en plsql.Obtener el nombre de un parámetro

Por ejemplo,

procedure sp_example(myParam in varchar2) is 

paramName varchar2(30); 
begin 
    paramName = 'myParam'; 
end 
end procedure sp_example; 

¿Hay una manera de obtener el nombre de myParam utilizando la reflexión, en lugar de codificar duro que?

Respuesta

6

Probar:

select argument_name from all_arguments where object_name = 'SP_EXAMPLE'; 

Esta opinión también se pueden mostrar los tipos de datos, posiciones, etc., y se puede utilizar en SQL o PL/SQL. Mucha información en las diversas vistas de metadatos.

+1

Se puede usar '' OWA_UTIL.who_called_me' y un procedimiento who_am_i' para obtener de forma dinámica el propietario del procedimiento y el nombre . Pero desafortunadamente no hay una manera fácil de obtener el nombre del procedimiento dentro de un paquete. http://tkyte.blogspot.com/2009/10/httpasktomoraclecomtkytewhocalledme.html –

1

Si desea obtener los nombres de los parámetros recuperados en sus respectivas posiciones, utilice

select argument_name from user_arguments where object_name='SAMPLE_PROC' order by position;

Cuestiones relacionadas