Professional Documents
Culture Documents
Stored Procedures
Funciones o procedimientos persistentes dentro de la Base de Datos Se necesita un Lenguaje Procedural (PL) : Un binding o una pasarela hacia el entorno real de ejecucin del lenguaje escogido Se puede usar todas las posibilidades del lenguaje escogido en el procedimiento almacenado Muy tiles para extender las posibilidades de nuestra Base de Datos
Por qu Python?
Fcil de Leer, fcil de aprender, fcil de usar Poderoso y rpido Disponible en casi todas las distribuciones GNU/Linux, tambin hay para Window$ Cientos de mdulos estndar y de terceros Ej: Gnome, OpenERP, Google, Yahoo, PDVSA ... Un futuro muy prometedor
PL/Python es un lenguage UNTRUSTED Slo los superusuarios de la Base de Datos pueden crear funciones Las funciones pueden comunicarse fuera de la Base de Datos
Requerimientos
1) desde dentro:
2) desde fuera
CREATE OR REPLACE FUNCTION potenciapy(base float, exponente float) RETURNS float AS $$ p = base ** exponente return p $$ LANGUAGE 'plpythonu' VOLATILE;
PostgreSQL boolean Smallint, int Real, double, numeric otros arrays Composite Types Composite Types bool int float str listas
Python
NOTA
PL/Python importa automticamente el mdulo plpy El mdulo plpy contiene dos mtodos:
plpy.execute(consulta,limite) plpy.prepare(consulta,tipos)
Preguntas?