Anuncios en tutorial de programación PLSQL

jueves, 26 de octubre de 2006

Tipos de datos en PL/SQL

A continuación se muestra un listado de los tipos de datos más utilizados en el lenguaje de programación PL/SQL:

Numéricos

NUMBER (P, S): Puede contener un valor numérico entero o de punto flotante, donde P es la precisión y S la escala. La precisión es el número de dígitos del valor, y la escala es la cantidad de dígitos a la derecha del punto decimal. La precisión máxima es 38 y la escala 127.

BINARY_INTEGER: Debido al formato interno de las variables de tipo NUMBER, las operaciones entre ellas requieren más tiempo de CPU que si utilizamos variables de tipo BINARY_INTEGER. Es recomendable su uso en contadores de bucles. Permite almacenar valores entre el rango -2147482647 y +2147482647.

Carácter

VARCHAR2 (L): Guarda una cadena de longitud variable de tamaño máximo L. En PL/SQL el valor máximo del tamaño de una variable de este tipo es 32.767 bytes, sin embargo las bases de datos Oracle sólo permiten campos de hasta 4.000 bytes.

CHAR (L): Análogo al VARCHAR2 pero guarda cadenas de longitud fija. Si no se especifica L, su valor por defecto es 1. El espacio sobrante de una variable CHAR se rellena con caracteres en blanco. En PLSQL el valor máximo del tamaño de una variable de este tipo es 32.767 bytes, sin embargo las bases de datos Oracle sólo permiten columnas de hasta 2.000 bytes.

LONG: Este tipo, muy similar al VARCHAR2, se trata de una cadena de longitud variable de hasta 32.760 bytes. Los tipos de datos LONG de una base de datos Oracle son capaces almacenar hasta dos gigabytes.

Fecha e Intervalo

DATE: Guardar información sobre la fecha, hora, día, mes, año, hora, minuto y segundo. Las variables de este tipo no son capaces de almacenar milisegundos. Su tamaño es de 7 bytes.

TIMESTAMP [P]: Con las características del tipo DATE pero además permite almacenar fracciones de segundo. El parámetro P es la precisión que por defecto es 6.

Raw

RAW: Almacena datos binarios de longitud fija. Los datos de tipo RAW no implican conversiones de carácter. La longitud máxima de una variable de este tipo es 32.767 bytes, sin embargo un campo de una tabla de tipo RAW sólo admite 2.000 bytes.

LONG RAW: Análogo al tipo de dato LONG, pero como el anterior no implican conversiones de carácter.

Booleanos

BOOLEAN: Sólo es capaz de guardar los valores TRUE (1) y FALSE (0). Las bases de datos Oracle no utilizan este tipo de dato pero si que se puede emplear dentro del código PL/SQL.

Rowid

ROWID: Este tipo de dato sirve para almacenar identificadores únicos de registros. Este identificador es con el que trabaja internamente la base de datos Oracle para identificar dichos registros.

Estos no son los únicos tipos de datos permitidos en PLSQL, si alguien está interesado en ampliar la información aquí tenéis un enlace de la Wikipedia con un listado más completo.

4 comentarios:

Luis Eduardo Hernandez Diaz dijo...

Ya se ha implementado el tipo de dato boolean en oracle? si no es así , que otras bases de datos utilizaran Pl/Sql para trabajar?

Pepelu dijo...

Luis Eduardo, claro que existe el tipo de dato boolean en las bases de datos Oracle.

Por otro lado, el lenguaje de programación PL/SQL es propio de las bases de datos Oracle. Existen lenguajes similares desarrollados para otro tipo de bases de datos (por ejemplo en Informix se denomina Informix-4GL). Como he dicho, se tratan de lenguajes de programación similares, pero no idénticos.

manuel meza torres dijo...

entonces en que quedamos, queria agregar una columna de tipo boleana en la version 10 express edition, es posoble o no

José Luis Pérez dijo...

Lamento haber sido tan poco claro con el tipo de dato BOOLEAN.

En los programas PL/SQL se pueden utilizar variables y parámetros de tipo BOOLEAN pero SQL no maneja un tipo de dato equivalente por lo que el tipo de dato BOOLEAN no se puede utilizar dentro de sentencias o consultas SQL. Tampoco se pueden definir campos de tipo BOOLEAN dentro de una tabla de la base de datos ORacle.