tipos salida procedimientos procedimiento parametros funciones example espaƱol ejemplos ejecutar developer con bloques almacenado 11g oracle sql-server-2008 plsql information-schema

oracle - salida - Recuperando esquema de procedimiento PL/SQL



procedimientos y funciones oracle pl/sql (2)

La mayor parte de la información sobre los parámetros del procedimiento almacenado se puede encontrar en ALL_ARGUMENTS y de manera similar en USER_ARGUMENTS y DBA_ARGUMENTS

Aquí hay una muestra rápida que usa USER_ARGUMENTS

CREATE OR REPLACE PROCEDURE my_proc (p_number IN NUMBER, p_varchar IN OUT VARCHAR2 , p_clob IN OUT NOCOPY CLOB, p_timestamp OUT TIMESTAMP ) IS BEGIN NULL; END; / CREATE OR REPLACE FUNCTION my_func (p_date IN DATE, p_varchar IN VARCHAR2) RETURN BOOLEAN IS BEGIN return TRUE; END; / SELECT package_name,object_name, argument_name, IN_OUT , pls_type ,position FROM user_arguments WHERE object_name IN (''MY_PROC'',''MY_FUNC'') ORDER BY package_name, object_name, position;

que da la salida de ..

Procedure created. Function created. PACKAGE_NAME OBJECT_NAME ARGUMENT_NAME IN_OUT PLS_TYPE POSITION --------------------- ------------------------------ ------------------------- --------- -------------------- ---------- MY_FUNC OUT BOOLEAN 0 MY_FUNC P_DATE IN DATE 1 MY_FUNC P_VARCHAR IN VARCHAR2 2 MY_PROC P_NUMBER IN NUMBER 1 MY_PROC P_VARCHAR IN/OUT VARCHAR2 2 MY_PROC P_CLOB IN/OUT CLOB 3 MY_PROC P_TIMESTAMP OUT TIMESTAMP 4 7 rows selected.

Como puede ver, tiene la información más útil ... pero no muestra la sugerencia de NOCOPY. ARGUMENT_NAME que es nulo es el ''valor de retorno'' de la función

la versión ALL_ y DBA_ tendrá una columna OWNER adicional.

Puede encontrar información adicional sobre el procedimiento almacenado en ALL_PROCEDURES , ALL_PLSQL_OBJECT_SETTINGS y ALL_OBJECTS dependiendo del nivel de detalle que esté buscando.

Necesito obtener las definiciones de parámetros de un procedimiento PL / SQL.

En MS SQL, usamos Information_schema.Parameters ; ¿Cuál es la contraparte (si existe) en Oracle?


La mayoría (si no todos) de los mismos datos se puede acceder en Oracle desde la tabla del diccionario de datos ALL_ARGUMENTS . ALL_ARGUMENTS muestra los argumentos para todos los procedimientos que tiene permiso para ejecutar. USER_ARGUMENTS muestra los argumentos para todos los procedimientos que posee. Y DBA_ARGUMENTS muestra los argumentos para todos los procedimientos que existen en la base de datos, pero necesita privilegios adicionales para acceder a las vistas DBA_* .