tipos de datos plsql

Páginas: 6 (1307 palabras) Publicado: 2 de julio de 2014
Tipos de Datos PL/SQL
Esquema de Tipos de Datos
La razón es que los tipos más utilizados coinciden al 100% con los del SQL de Oracle, y por tanto
son conocidos por los asistentes a este curso.
Además, aquellos tipos que sean específicos para alguna funcionalidad concreta que soporte
PL/SQL, serán vistos en detalle cuando abordemos cada una de esas funcionalidades.
Los tipos soportados porPL/SQL son los siguientes:

Como notas de Interés, decir que los tipos NATURAL y POSITIVE permiten la restricción a valores
que sean tan solo positivos, mientras que NATURALN y POSITIVEN, evitan la asignación de valores
NULL.
1. El tipo SIGNTYPE permite la restricción de una variable a los valores –1, 0, y 1, lo cual es
útil a la hora de programar lógica.
2. NUMBER es un tipo que tiene elsiguiente rango: 1.0E-130 … 9.99E125
3. INTEGER tiene una precisión de 38 dígitos decimales.
4. PLS_INTEGER es un tipo especial de PL/SQL, equivalente a INTEGER, pero que nos da una
eficiencia mucho mayor, por tanto es importante utilizarlo siempre que tratemos enteros
en nuestros programas.
5. El tipo LONG, aunque pretende ser equivalente al tipo LONG de SQL, en realidad solo
admite hasta32.760 caracteres, si queremos trabajar con columnas de tipo LONG,
deberemos utilizar otro tipo de técnicas como SQL Dinámico.
6. El tipo VARCHAR2 también admite hasta 32.760 caracteres.

Subtipos definidos por el usuario
Cada tipo básico de PL/SQL, especifica un conjunto de valores, así como un conjunto de
operaciones aplicables sobre los mismos. Los subtipos, nos permitirán especificar lasmismas
operaciones que las aplicables a los tipos básicos, pero tan solo sobre un subconjunto de valores.

Definición de Subtipos
Podemos definir nuestros propios Subtipos en la parte de declaraciones de cualquier bloque
PL/SQL, subprograma o package, utilizando la sintaxis:
SUBTYPE nombre_subtipo IS tipo_base;
Donde nombre_subtipo es el nombre que se desee darle, y tipo_base es cualquiertipo de PL/SQL
predefinido o definido por el usuario. Para especificar el tipo_base, podemos usar %TYPE, el cual
proporciona el tipo de datos de una variable, o una columna de Bbdd, o también %ROWTYPE, que
nos proporciona el tipo ROW de un cursor, cursor de variables, o tabla de BBDD. Veamos algunos
ejemplos de definición:

DECLARE
SUBTYPE FechaEmp IS DATE; -- Basado en un Tipo DATE
SUBTYPEContador IS NATURAL; -- Basado en un subtipo
NATURAL
TYPE ListaNombres IS TABLE OF VARCHAR2(10);
SUBTYPE NomEmp IS ListaNombres; -- Basado en un tipo TABLE
TYPE TimeRec IS RECORD(minutos INTEGER,horas INTEGER);
SUBTYPE Time IS TimeRec; -- Basado en un tipo
RECORD
SUBTYPE Id_Num IS emp.numemp%TYPE; -- Basado en un tipo
columna
CURSOR c1 IS SELECT * FROM dep;
SUBTYPE Depsub IS c1%ROWTYPE;-- Basado en una Row de un
Cursor
Sin embargo, no podemos especificar constraints sobre el tipo base.
Veamos algunas declaraciones ilegales:
DECLARE
SUBTYPE Acumulacion IS NUMBER(7,2); -- Ilegal
SUBTYPE Palabra IS VARCHAR2(15); -- Ilegal

Aunque no podamos especificar constraints de forma directa, en realidad podemos hacerlo de
manera indirecta de la siguiente manera:
DECLARE
tempVARCHAR2(15);
SUBTYPE Palabra IS temp%TYPE; -- La longitud máxima de Palabra será 15
También debe mencionarse, que si se define un subtipo utilizando %TYPE para proporcionar el
tipo de dato de una columna de BBDD, el subtipo adopta la constraint de longitud de la columna,
sin embargo, el subtipo no adoptará otro tipo de constraints como NOT NULL.

%TYPE
El atributo %TYPE, proporciona el tipode dato de una variable o de una columna de la Bbdd. En el
siguiente ejemplo, %TYPE asigna el tipo de dato de una variable:
credito REAL(7,2);
debito credito%TYPE;
La declaración utilizando %TYPE, puede incluir una claúsula de inicialización. Veamos un ejemplo:
balance NUMBER(7,2);
balance_minimo balance%TYPE := 10.00;
De todas formas, el uso de %TYPE es especialmente útil en el caso de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • datos y tipos de datos
  • Tipos de datos en bases de datos
  • Tipos De Datos
  • Tipos de datos
  • tipos de datos
  • Tipos de datos
  • Tipos De Datos
  • tipos de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS