¿Qué son los tipos de datos PL / SQL?
Un tipo de datos está asociado con el formato de almacenamiento específico y las restricciones de rango. En Oracle, a cada valor o constante se le asigna un tipo de datos.
Básicamente, define cómo Oracle almacena, maneja y trata los datos durante el almacenamiento y procesamiento de datos.
La principal diferencia entre los tipos de datos PL / SQL y SQL es que el tipo de datos SQL se limita a la columna de la tabla, mientras que los tipos de datos PL / SQL se utilizan en los bloques PL / SQL. Más sobre esto más adelante en el tutorial.
A continuación se muestra el diagrama de diferentes tipos de datos en PL / SQL
En este tutorial, aprenderá:
- CARÁCTER Tipo de datos
- NUMBER Tipo de datos
- Tipo de datos BOOLEAN
- FECHA Tipo de datos
- Tipo de datos LOB
CARÁCTER Tipo de datos:
Este tipo de datos básicamente almacena caracteres alfanuméricos en formato de cadena.
Los valores literales siempre deben incluirse entre comillas simples al asignarlos al tipo de datos CHARACTER.
Este tipo de datos de caracteres se clasifica además de la siguiente manera:
- CHAR Tipo de datos (tamaño de cadena fijo)
- VARCHAR2 Tipo de datos (tamaño de cadena variable)
- VARCHAR Tipo de datos
- NCHAR (tamaño de cadena fijo nativo)
- NVARCHAR2 (tamaño de cadena variable nativa)
- CRUDO LARGO Y LARGO
Tipo de datos | Descripción | Sintaxis |
---|---|---|
CARBONIZARSE | Este tipo de datos almacena el valor de la cadena y el tamaño de la cadena se fija en el momento de declarar la variable.
|
grade CHAR;manager CHAR (10):= 'guru99';Explicación de la sintaxis:
|
VARCHAR2 | Este tipo de datos almacena la cadena, pero la longitud de la cadena no es fija.
|
manager VARCHAR2(10) := ‘guru99';Explicación de la sintaxis:
|
VARCHAR | Esto es sinónimo del tipo de datos VARCHAR2.
|
manager VARCHAR(10) := ‘guru99';Explicación de la sintaxis:
|
NCHAR | Este tipo de datos es el mismo que el tipo de datos CHAR, pero el juego de caracteres será del juego de caracteres nacional.
|
native NCHAR(10);Explicación de la sintaxis:
|
NVARCHAR2 | Este tipo de datos es el mismo que el tipo de datos VARCHAR2, pero el juego de caracteres será del juego de caracteres nacional.
|
Native var NVARCHAR2(10):='guru99';Explicación de la sintaxis:
|
LARGO y LARGO | Este tipo de datos se utiliza para almacenar texto grande o datos sin procesar hasta un tamaño máximo de 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Explicación de la sintaxis:
|
NUMBER Tipo de datos:
Este tipo de datos almacena números de coma flotante o fija de hasta 38 dígitos de precisión. Este tipo de datos se utiliza para trabajar con campos que solo contendrán datos numéricos. La variable se puede declarar con precisión y detalles de dígitos decimales o sin esta información. Los valores no necesitan encerrarse entre comillas mientras se asignan para este tipo de datos.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Explicación de la sintaxis:
- En lo anterior, la primera declaración declara que la variable 'A' es de tipo de datos numéricos con precisión total 8 y dígitos decimales 2.
- La segunda declaración declara que la variable 'B' es de tipo de datos numéricos con una precisión total de 8 y sin dígitos decimales.
- La tercera declaración es la más genérica, declara que la variable 'C' es de tipo de datos numéricos sin restricción en precisión o lugares decimales. Puede ocupar hasta un máximo de 38 dígitos.
Tipo de datos BOOLEAN:
Este tipo de datos almacena los valores lógicos. Representa VERDADERO o FALSO y se usa principalmente en declaraciones condicionales. Los valores no necesitan encerrarse entre comillas mientras se asignan para este tipo de datos.
Var1 BOOLEAN;
Explicación de la sintaxis:
- En lo anterior, la variable 'Var1' se declara como tipo de datos BOOLEAN. La salida del código será verdadera o falsa según la condición establecida.
FECHA Tipo de datos:
Este tipo de datos almacena los valores en formato de fecha, como fecha, mes y año. Siempre que una variable se define con el tipo de datos DATE junto con la fecha, puede contener información de hora y, de forma predeterminada, la información de hora se establece en 12:00:00 si no se especifica. Los valores deben encerrarse entre comillas mientras se asignan para este tipo de datos.
El formato de hora estándar de Oracle para entrada y salida es 'DD-MON-YY' y nuevamente se establece en NLS_PARAMETERS (NLS_DATE_FORMAT) en el nivel de sesión.
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Explicación de la sintaxis:
- En la variable 'newyear' arriba, está declarada como tipo de datos DATE y se asigna el valor de Jan 1 st , 2015 fecha.
- La segunda declaración declara la variable current_date como tipo de datos DATE y le asigna el valor con la fecha actual del sistema.
- Ambas variables contienen la información de tiempo.
Tipo de datos LOB:
Este tipo de datos se utiliza principalmente para almacenar y manipular grandes bloques de datos no estructurados como imágenes, archivos multimedia, etc. Oracle prefiere LOB en lugar del tipo de datos LONG ya que es más flexible que el tipo de datos LONG. Las siguientes son algunas de las principales ventajas de LOB sobre el tipo de datos LONG.
- El número de columnas en una tabla con el tipo de datos LONG está limitado a 1, mientras que una tabla no tiene restricciones en el número de columnas con el tipo de datos LOB.
- La herramienta de interfaz de datos acepta el tipo de datos LOB de la tabla durante la replicación de datos, pero omite la columna LONG de la tabla. Estas columnas LARGAS deben replicarse manualmente.
- El tamaño de la columna LONG es de 2 GB, mientras que LOB puede almacenar hasta 128 TB.
- Oracle mejora constantemente el tipo de datos LOB en cada una de sus versiones de acuerdo con los requisitos modernos, mientras que el tipo de datos LONG es constante y no recibe muchas actualizaciones.
Por lo tanto, siempre es bueno usar el tipo de datos LOB en lugar del tipo de datos LONG. A continuación se muestran los diferentes tipos de datos LOB. Pueden almacenar hasta 128 terabytes.
- GOTA
- CLOB y NCLOB
- BFILE
Tipo de datos | Descripción | Sintaxis |
---|---|---|
GOTA |
Este tipo de datos almacena los datos LOB en formato de archivo binario hasta un tamaño máximo de 128 TB. Esto no almacena datos basados en los detalles del juego de caracteres, por lo que puede almacenar los datos no estructurados como objetos multimedia, imágenes, etc. |
Binary_data BLOB; Explicación de la sintaxis:
|
CLOB y NCLOB |
El tipo de datos CLOB almacena los datos LOB en el juego de caracteres, mientras que NCLOB almacena los datos en el juego de caracteres nativo. Dado que estos tipos de datos utilizan almacenamiento basado en juegos de caracteres, no pueden almacenar datos como multimedia, imágenes, etc. que no se pueden poner en una cadena de caracteres. El tamaño máximo de estos tipos de datos es de 128 TB. |
Charac_data CLOB; Explicación de la sintaxis:
|
BFILE |
|
Resumen
Hemos cubierto los diferentes tipos de datos simples que están disponibles en PL / SQL junto con su sintaxis. Aprenderemos sobre tipos de datos complejos en más temas.