Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FuncionesenPostgreSQL PDF
FuncionesenPostgreSQL PDF
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Funciones
http://www.postgresql.org
Funciones en PostgreSQL
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
PostgreSQL viene con muchas funciones incorporadas, podemos verlas todas dentro del
psql con el comando
o examinando la tabla del sistema pg_proc
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones en PL/pgsql
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Ejemplo
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Variables
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Ejemplo (Recursin)
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Probmoslo
Funciones
Hagamos la prueba:
Funciones en PostgreSQL
Funciones en PL/pgsql
Estructuras de control
IF
WHILE
FOR
http://www.postgresql.org
Estructuras de control
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
IF - THEN - ELSE
FOR
WHILE
IF
WHILE
FOR
Trabajando con tablas
Adicionalmente tenemos el LOOP (ver documentacin), pero no hace nada que las
anteriores no puedan lograr.
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
IF
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
WHILE
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
FOR
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Pero lo que nos interesa es trabajar con los datos de una tabla. Entonces veamos un
ejemplo ms prctico.
Supongamos que tenemos una tabla tem que almacena la informacin de piezas de
hardware vendidas por una tienda de computadoras.
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
1. Cree una tabla nueva llamada item_por_comprar que almacene los datos de los
items que tengan cantidad = 0, o sea los items que hay que renovar para luego
poner a la venta.
Estructuras de control
IF
WHILE
2. Busque en la tabla item todos los items que ya no estn en stock y los inserte en
la tabla item_por_comprar
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Primeros pasos
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Primero creamos una tabla para almacenar los items que ya no hay disponibles en stock,
la tabla item_por_comprar:
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
La funcin
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Declaramos dos variables, cont_item que tendr el nmero de items que tengan
cantidad = 0 y la_item que tendr como campos, los atributos de la tabla item.
Variables compuestas
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
Podemos declarar variables compuestas que puedan almacenar los campos de una
determinada la de una determinada tabla.
Indica que la variable la_item podr almacenar los campos de cualquier la de la tabla
item.
Para acceder a los valores de la variable la_item usamos una notacin ya conocida:
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
Cada vez que vayamos a ejecutar la funcin borraremos la anterior tabla y crearemos una
nueva con datos actualizados. No nos interesa almacenar la informacin que se genera
cada vez que ejecutamos la funcin, solo la informacin ms reciente.
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
SELECT INTO
Funciones
Podemos asignar un valor a una variable directamente dentro de una consulta SQL
Funciones en PostgreSQL
Funciones en PL/pgsql
cont_item es una variable tipo int4 y la consulta tambin devuelve un tipo compatible, por
lo tanto en cont_item tendremos un valor correcto.
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
Denimos un bucle que recorra la tabla temporal que tiene los items con cantidad = 0 y
por cada una insertamos una la en la tabla item_por_comprar
http://www.postgresql.org
Bucles en tablas
Funciones
Vimos que podiamos denir un bucle con la sentencia FOR de esta forma:
Funciones en PostgreSQL
Funciones en PL/pgsql
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
Finalmente retornamos cont_item para saber cuantos items han sido insertados.
http://www.postgresql.org
Probando la funcin
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Probando la funcin
Funciones
Ejecutemos la funcin:
Funciones en PostgreSQL
Funciones en PL/pgsql
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Utilicemos la misma tabla item y hagamos una funcin patrimonio() que nos retorne:
Funciones en PostgreSQL
Funciones en PL/pgsql
o sea :
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org
Funciones
Funciones en PostgreSQL
Funciones en PL/pgsql
Partes de una funcin
Invocando a una funcin
Variables
Estructuras de control
IF
WHILE
FOR
Trabajando con tablas
Variables compuestas
SELECT INTO
Bucles en tablas
http://www.postgresql.org