El 11/04/2016 a las 15:42, Anthony Sotolongo escribió:
Hola Kernel, hace un tiempo tuve que borrar un lote de funciones que
cumplían cierto criterio, para saber los atributos que tenia cada una
utilicé la función:
pg_get_function_identity_arguments  y luego le agregue el DROP, arme una
consulta que devolviera la sentencia del DROP FUNCTION y lo puse en
.CSV, luego ejecute las querys de ese .CSV como un SQL, aqui te dejo la
consulta al catalogo que utilice:

select 'DROP FUNCTION ' || nspname ||'.' || proname ||'(' ||
pg_get_function_identity_arguments(pg_proc.oid) ||');'from pg_proc
JOIN   pg_namespace  ON pg_namespace.oid = pg_proc.pronamespace where
TU_CRITERIOS

tal vez pueda orientar como resolver el tema
Saludos

On 11/04/16 05:11, Kernel wrote:

Hola,

Tengo que actualizar una serie de funciones de una base de datos,
tengo que borrar primero las que hay y luego insertar las nuevas.

El problema me surge cunado ha variado el numero de argumentos, cuando
hace el replace me deja funciones antiguas y me genera bastante
confusión.

Hay alguna manera de poder borrar todas las funciones que empiecen por
una cadena determinada, algo asi, drop funcion 'erp_*'.


¿hay alguna funciona que haga esto?

Estoy viendo que la table information_schema.parameters tiene casi
todo lo que necesito, lo que no tengo es el nombre de la funcion
correcto, tengo en el campo specific_name el nombre de la funcion mas
un '_nnnnn'

Gracias


-
Enviado a la lista de correo pgsql-es-ayuda
(pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


OK, muchas gracias ,va perfecto ...

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a