Funciones de PSQL Postgres
create or replace function calcula_area_trapecio (float, float, float)
returns float as
'
declare
base_mayor alias for $1;
base_menor alias for $2;
alturaalias for $3;
area float;
begin
area := (base_mayor + base_menor) * altura / 2;
return area;
end;
'
language 'plpgsql';
Para ejecutar la función solo debes poner:
select calcula_area_trapecio(10,20,30) as area;
area
-----450
Calcular el factorial de un número:
create or replace function calcula_factorial (int)
returns integer as
'
declare
numero alias for $1;
factorial integer;begin
if numero is null or numero < 0 then
raise notice ''Los numeros negativos no tienen factorial'';
return null;
else
if numero =0 or numero = 1 then
return 1;
else
factorial := 2;
for iin 3 .. numero loop
factorial := factorial * i;
end loop;
return factorial;
end if;
end if;
end;
'
language 'plpgsql';
Para ejecutar la función debes poner:
select calcula_factorial (12)as factorial;
factorial
----------479001600
Función que recibe tres parámetros y devuelve el mayor de ellos.
create or replace function mayor (int, int, int)
returns int as
'
begin
if( $1 >$2 and $1 > $3) then
raise notice ''El mayor es el primero'';
return $1;
else
if ( $2 > $3) then
raise notice ''El mayor es el segundo'';
return $2;
else
raise notice ''El mayor es eltercero'';
return $3;
end if;
end if;
end;
'
language 'plpgsql';
Función que genera 10 números de la serie fibonacci, recibiendo dos
semillas
create or replace function fibonacci (int, int)returns int as
'
declare
semilla1 int;
semilla2 int;
numero
int;
begin
semilla1 := $1;
semilla2 := $2;
for i in 1 .. 10 loop
numero := semilla1 + semilla2;
raise notice ''Numero % de la serie:% '', i, numero;
semilla1 := semilla2;
semilla2 := numero;
end loop;
return 0;
end;
'
language 'plpgsql';
Problema del Ajedrez
create or replace function ajedrez (int)
returns int as
'...
Regístrate para leer el documento completo.