72 - Funciones SQL |
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 dato que retorna] 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');