Tips.cl

Ejemplos de PL/pgSQL

Por MigueliTUX Apr.05, 2009, categoría PostgreSQL

Buscar un cliente y retornar si existe o no

CREATE OR REPLACE FUNCTION buscar_cliente (varchar)
RETURNS
bool AS
DECLARE
rut_buscar alias for $1;
registro clientes%ROWTYPE;
/* Notese que aqui definimos la variable registro del tipo FILA de clientes
indicando la tabla, el simbolo % y luego la palabra reservada ROWTYPE
*/
BEGIN
SELECT INTO registro * FROM clientes
WHERE rut_cliente = rut_buscar;
IF FOUND THEN
RETURN true;
END IF;
RETURN false;
END;
LANGUAGE ‘plpgsql’;

LLAMADA SELECT buscar_cliente(’12000111-2′);

Buscar un producto y actualiza su precio segun porcentaje

CREATE OR REPLACE FUNCTION actualizar_producto (varchar, real)
RETURNS
bool AS
DECLARE
producto ALIAS FOR $1;
porcentaje ALIAS FOR $2;
registro productos%ROWTYPE;
BEGIN
SELECT INTO registro * FROM productos
WHERE id_producto = producto;
IF FOUND THEN
UPDATE productos SET
precio_venta = precio_venta + (precio_venta * porcentaje)
WHERE id_categoria = categoria;
RETURN true;
END IF;
RETURN false;
END;
‘ LANGUAGE
‘plpgsql’;

LLAMADA SELECT actualizar_producto(’PRO-0540′,0.03)

Suma 2 valores

CREATE OR REPLACE FUNCTION suma (real, real)
RETURNS real AS
DECLARE
valor_1 ALIAS FOR $1;
valor_2 ALIAS FOR $2;
total
real;
BEGIN
total := valor_1 + valor_2;
RETURN total;
RETURN;
END;
‘ LANGUAGE
‘plpgsql’;

LLAMADA SELECT suma(3,4)

:,

3 comments to “Ejemplos de PL/pgSQL”

  1. Bichotoblog

    Muchas gracias, es útil para empezar.

Leave a Reply

Buscas algun tips?

Busca aquí:

contactate con nosotos contacto@tips.cl

Visita nuestras Web amigas!

Web Amigas...