next up previous contents index
Next: Expresiones Up: Estructura de PL/pgSQL Previous: Bloque de declaraciones   Índice General   Índice de Materias

Tipos de datos

El tipo de una variable puede ser cualquiera de los tipos base existentes en la base de datos. type en la sección de declaraciones anterior se define como:

variable es el nombre de una variable previamente declarada en la misma función y que es visible en ese punto. clase es el nombre de una tabla existente o una vista donde campo es el nombre de un atributo válido.

Utilizar el tipo clase.campo%TYPE causa que PL/pgSQL busque las definiciones de atributos en la primera invocación de la función, durante la existencia de la conexión con servidor. Supongamos que se tiene una tabla con un atributo de tipo char(20) y que algunas funciones PL/pgSQL que trabajan con el contenido en variables locales. Luego, se decide que char(20) no es suficiente para almacenar la información, se hace un dump, se destruye la tabla y se recrea con la nueva definición para el atributo como char(40) y restaura la información. En este caso, olvidamos las funciones definidas. Los cálculos dentro de ellas truncarán el valor a veinte carácteres. Pero si el campo fué declarado como clase.campo%TYPE, entoces las funciones automáticamente trabajarán con el cambio de tamaño, incluso si la nueva declaración del campo es del tipo text.


next up previous contents index
Next: Expresiones Up: Estructura de PL/pgSQL Previous: Bloque de declaraciones   Índice General   Índice de Materias
Ismael Olea 2001-04-21