Sunteți pe pagina 1din 2

72 - Funciones SQL Listado completo de tutoriales

La forma más fácil de implementar funciones es utilizar el lenguaje SQL. Una función SQL
nos permite dar un nombre a uno o varios comandos sql.

Luego la sintaxis para implementar una función SQL:

create or replace function [nombre de la función]([parámetros]) returns [tipo de


as
[comandos sql]
language sql

Como primer problema implementaremos una función que reciba dos enteros y retorne la
suma de los mismos:

create or replace function sumar(integer,integer) returns integer


AS
'select $1+$2;'
language sql;

Cada parámetro se lo accede luego mediante la posición que ocupa y se le antecede el caracter $. El o los comandos SQL deben ir
entre simples comillas (si tenemos que utilizar las simples comillas en el comando SQL debemos disponer dos simples comillas
seguidas) y separados por punto y coma. Luego indicamos al final que se trata de una función SQL.

Para llamar luego a esta función lo hacemos por ejemplo en un select:

select sumar(3,4);

Podemos acceder perfectamente a una o más tablas en la función. Confeccionaremos una función que acceda a la tabla usuarios:

create table usuarios (


nombre varchar(30),
clave varchar(10)
);

y rescate la clave de un usuario que le pasamos como parámetro:

create or replace function retornarclave(varchar) returns varchar


as
'select clave from usuarios where nombre=$1;'
language sql;

Luego para probar la función retornarclave debemos llamarla por ejemplo desde un select:

select retornarclave('Susana');

Ingresemos el siguiente lote de comandos SQL en pgAdmin:

create or replace function sumar(integer,integer) returns integer


AS
'select $1+$2;'
language sql;

-- Llamamos la función que acabamos de crear:


select sumar(3,4);

drop table if exists usuarios;

-- Creamos la tabla usuarios:


create table usuarios (
nombre varchar(30),
clave varchar(10)
);

insert into usuarios (nombre, clave) values ('Marcelo','Boca');


insert into usuarios (nombre, clave) values ('JuanPerez','Juancito');
insert into usuarios (nombre, clave) values ('Susana','River');
insert into usuarios (nombre, clave) values ('Luis','River');

-- Creamos una función que reciba una cadena con el nombre de usuario
-- y retorne la clave de dicho usuario:
create or replace function retornarclave(varchar) returns varchar
as
'select clave from usuarios where nombre=$1;'
language sql;
-- Llamamos la función recuperando la clave del usuario llamada 'Susana':
select retornarclave('Susana');

La ejecución de este lote de comandos SQL genera una salida similar a:

Retornar

S-ar putea să vă placă și