Dropping Functions sin conocimiento del parámetro
Cuando se mantiene una colección de funciones en un archivo de texto con la sintaxis "Crear o reemplazar la función", puede volverse tedioso para rastrear manualmente y eliminar los parámetros cuando se agregan o eliminados. Este dilema surge debido a la necesidad de especificar cada tipo de parámetro en el orden exacto al dejar caer una función.
para agilizar este proceso, considere utilizar la siguiente consulta para generar comandos de funciones de caída automáticamente:
SELECT 'DROP FUNCTION ' || oid::regprocedure FROM pg_proc WHERE proname = 'my_function_name' AND pg_function_is_visible(oid);
explicación:
Drop function my_funcion_name (string text, mAxlen output. Función de soltar my_function_name (texto de cadena, texto de formulario); Drop Función My_Function_Name (String Text);
Los comandos de función de caída resultante se pueden ejecutar secuencialmente para eliminar todas las funciones con el nombre especificado, independientemente del recuento de parámetros o type.DROP FUNCTION my_function_name(string text, form text, maxlen integer); DROP FUNCTION my_function_name(string text, form text); DROP FUNCTION my_function_name(string text);
opciones adicionales:
if Desired, query, la selección de la selección de la selección de la selección de la selección. Schemas o firmas de funciones. Un enfoque alternativo es crear una función PL/PGSQL que encapsule la lógica de la función de caída, lo que permite la ejecución inmediata con una llamada de función única. Sin embargo, esto debe usarse con precaución debido a su potencial para eliminar las funciones inadvertidamente.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3