PostgreSQL – Función de caída

En PostgreSQL , la declaración de la función Drop se usa para eliminar una función.

Syntax:
drop function [if exists] function_name(argument_list)
[cascade | restrict]

Analicemos la sintaxis anterior:

  • función de caída
  • si existe

Cuando una función tiene objetos dependientes, como operadores o disparadores, no puede descartar esa función. Para descartar la función y sus objetos dependientes, debe especificar la opción de cascada. La función de soltar con la opción en cascada eliminará recursivamente la función, sus objetos dependientes y los objetos que dependen de esos objetos, y así sucesivamente.

De forma predeterminada, la declaración de la función de eliminación utiliza la opción de restricción que rechaza la eliminación de una función cuando tiene objetos dependientes. Para descartar varias funciones usando una sola instrucción de función de eliminación, especifique una lista separada por comas de nombres de funciones después de la palabra clave de la función de eliminación como esta:

drop function [if exists] function1, function2, ...;

A modo de ejemplo, utilizaremos la base de datos de muestra, es decir, dvdrental .

Ejemplo :

film_id título actor

create or replace function get_film_actors()
    returns setof record
as $$
declare
   rec record;
begin
   for rec in select 
            film_id, 
            title, 
            (first_name || ' ' || last_name)::varchar
        from film
        inner join film_actor using(film_id)
        inner join actor using (actor_id)
        order by title
    loop
        return next rec;
    end loop;
    
    return;
end;
$$ 
language plpgsql;

get_film_actors

create or replace function get_film_actors(p_fiml_id int)
    returns setof record
 as $$
declare
 rec record;
begin
for rec in select 
film_id, 
title, 
            (first_name || ' ' || last_name)::varchar
        from film
 inner join film_actor using(film_id)
        inner join actor using (actor_id)
        where film_id = p_fiml_id
 order by title
    loop
 return next rec;
    end loop;

    return;
end;
$$ 
language plpgsql;

get_film_actors

drop function get_film_actors;

Producción:

Dado que el procedimiento almacenado get_film_actors no es único, debe especificar qué función desea descartar.

La siguiente declaración descarta la función get_film_actors que tiene cero parámetros:

drop function get_film_actors();

get_film_actors

drop function get_film_actors;
drop function get_film_actors(int);

Conclusión:

  • la funcion de soltar
  • caída de función en cascada

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *