next up previous contents index
Next: Comentarios en PL/pgSQL Up: Lenguajes procedurales Previous: Usando PL/pgSQL   Índice General   Índice de Materias

Estructura de PL/pgSQL

El lenguaje PL/pgSQL es no hace diferencia entre mayúsculas y minúsculas. Todas las palabras reservadas e identificadores pueden aparecer en una mezcla de mayúsculas y minúsculas.

PL/pgSQL es un lenguaje por bloques. Se define un bloque como:

    [<<etiqueta>>]
    [DECLARE
        declaraciones]
    BEGIN
        aserciones
    END;

Puede haber cualquier número de bloques anidados en la sección de aserciones de un bloque. Los bloques anidados pueden ser utilizados para ocultar variables de la parte exterior del bloque de aserciones. Las variables declaradas en la sección de declaraciones que precede a un bloque son inicializadas al valor por omisión cada vez que el control pasa al interior del bloque, no solamente cada vez que la función es invocada.

Es importante no confundir la estructura de control BEGIN ... END para agrupar aserciones de PL/pgSQL con los comandos del DBMS para control de transacciones. Las funciones y los triggers no pueden comenzar o hacer commit de transacciones y PostgreSQL no tiene transacciones anidadas.



Subsecciones

Ismael Olea 2001-04-21