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) |
October 26th, 2009 on 4:52 pm
Muchas gracias, es útil para empezar.
March 6th, 2010 on 1:54 pm
[...] de PL/pgSQL http://www.tips.cl/archives/261 #TipsCL [...]
April 3rd, 2010 on 1:52 pm
[...] de PL/pgSQL http://www.tips.cl/archives/261 #TipsCL [...]