procedimientos funciones espaƱol ejemplos ejemplo consultas anidadas almacenados sql postgresql metaprogramming

funciones - procedimientos almacenados mysql ejemplos



Enumera las funciones almacenadas que hacen referencia a una tabla en PostgreSQL (8)

Eche un vistazo a mi recipe . Lee funciones y disparadores. Se basa en información de: Extracción de información META de PostgreSQL (INFORMATION_SCHEMA)

Solo una pregunta rápida y sencilla: en PostgreSQL, ¿cómo se enumeran los nombres de todas las funciones almacenadas / procedimientos almacenados usando una tabla con solo una instrucción SELECT, si es posible? Si un SELECT simple es insuficiente, puedo arreglarme con una función almacenada.

Mi pregunta, creo, es algo similar a esta otra pregunta, pero esta otra pregunta es para SQL Server 2005:
Lista de procedimientos almacenados de la tabla

(opcional) En ese caso, ¿cómo enumera los factores desencadenantes y las restricciones que utilizan la misma tabla de la misma manera?


Excluyendo las cosas del sistema:

select proname from pg_proc where proowner <> 1;


Lo mismo que @quassnoi y @davidwhthomas, excepto que agregué los nombres de los argumentos allí:

SELECT proname, proargnames, prosrc FROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_proc p ON pronamespace = n.oid WHERE nspname = ''public'';

Si el propósito detrás de enumerar las funciones es limpiarlas o iterar una nueva función con una lista de parámetros cambiante, con frecuencia tendrá que soltar funciones:

DROP FUNCTION <name>(<args>);

Al agregar nombres de prueba, puedo construir el nombre de la función aplicable para la gota.

Además, es agradable ver una imagen más completa al evaluar las funciones.



Puede usar el esquema de esquema de information_schema estándar para obtener metadatos sobre su base de datos (está en el estándar SQL, por lo que debería funcionar de la misma manera en diferentes sistemas de bases de datos). En este caso, quiere information_schema.routines .


Si está utilizando psql, intente /df

Desde la página man:

Tip To look up functions taking arguments or returning values of a specific type, use your pager''s search capability to scroll through the /df output.

Ejecutando /set ECHO_HIDDEN revelará qué /df está ejecutando detrás de las escenas.


SELECT p.proname FROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid WHERE n.nspname = ''public''


SELECT proname, prosrc FROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_proc p ON pronamespace = n.oid WHERE nspname = ''public'';