Oracle Tipos de dados PL/SQL: Booleano, Número, Data [Exemplo]
O que são tipos de dados PL/SQL?
Tipos de dados em PL/SQL são usados para definir como os dados serão armazenados, manipulados e tratados por Oracle durante o armazenamento e processamento de dados. Os tipos de dados estão associados ao formato de armazenamento específico e às restrições de intervalo. Em Oracle, cada valor ou constante é atribuído a um tipo de dados.
A principal diferença entre PL/SQL e SQL tipos de dados são, os tipos de dados SQL são limitados à coluna da tabela, enquanto os tipos de dados PL/SQL são usados no Blocos PL/SQL. Mais sobre isso posteriormente no tutorial.
A seguir está o diagrama de diferentes Oracle Tipos de dados PL/SQL:
Tipo de dados PL/SQL CHARACTER
Este tipo de dados armazena basicamente caracteres alfanuméricos em formato de string.
Os valores literais devem sempre ser colocados entre aspas simples ao serem atribuídos ao tipo de dados CHARACTER.
Este tipo de dados de caractere é ainda classificado da seguinte forma:
- Tipo de dados CHAR (tamanho de string fixo)
- VARCHAR2 Tipo de dados (tamanho de string variável)
- Tipo de dados VARCHAR
- NCHAR (tamanho de string fixo nativo)
- NVARCHAR2 (tamanho da string variável nativa)
- LONGO e LONGO CRU
Tipo de dados | Descrição | Sintaxe |
---|---|---|
CARACTERES | Este tipo de dados armazena o valor da string, e o tamanho da string é fixo no momento da declaração do variável.
|
grade CHAR; manager CHAR (10):= 'guru99'; Explicação da sintaxe:
|
VARCHAR2 | Este tipo de dados armazena a string, mas o comprimento da string não é fixo.
|
manager VARCHAR2(10) := ‘guru99'; Explicação da sintaxe:
|
VARCHAR | Isso é sinônimo do tipo de dados VARCHAR2.
|
manager VARCHAR(10) := ‘guru99'; Explicação da sintaxe:
|
NCHAR | Este tipo de dados é igual ao tipo de dados CHAR, mas o conjunto de caracteres será do conjunto de caracteres nacional.
|
native NCHAR(10); Explicação da sintaxe:
|
NVARCHAR2 |
Este tipo de dados é igual ao tipo de dados VARCHAR2, mas o conjunto de caracteres será do conjunto de caracteres nacional.
|
Native var NVARCHAR2(10):='guru99'; Explicação da sintaxe:
|
LONGO e LONGRAW | Este tipo de dados é usado para armazenar texto grande ou dados brutos até o tamanho máximo de 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Explicação da sintaxe:
Nota: O uso do tipo de dados LONG não é recomendado por Oracle. Em vez disso, o tipo de dados LOB deve ser preferido. |
Tipo de dados PL/SQL NUMBER
Este tipo de dados armazena números de ponto fixo ou flutuante com até 38 dígitos de precisão. Este tipo de dados é usado para trabalhar com campos que conterão apenas dados numéricos. A variável pode ser declarada com precisão e detalhes de dígitos decimais ou sem esta informação. Os valores não precisam ser colocados entre aspas durante a atribuição para esse tipo de dados.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Explicação da sintaxe:
- Acima, a primeira declaração declara que a variável 'A' é do tipo de dados numérico com precisão total 8 e dígitos decimais 2.
- A segunda declaração declara que a variável 'B' é do tipo de dados numérico com precisão total 8 e sem dígitos decimais.
- A terceira declaração é a mais genérica, declara que a variável 'C' é do tipo de dados numérico sem restrição de precisão ou casas decimais. Pode levar no máximo 38 dígitos.
Tipo de dados PL/SQL BOOLEAN
Este tipo de dados armazena os valores lógicos. Oracle O tipo de dados booleano representa TRUE ou FALSE e é usado principalmente em instruções condicionais. Os valores não precisam ser colocados entre aspas durante a atribuição para esse tipo de dados.
Var1 BOOLEAN;
Explicação da sintaxe:
- Acima, a variável 'Var1' é declarada como tipo de dados BOOLEAN. A saída do código será verdadeira ou falsa com base no conjunto de condições.
Tipo de dados DATA PL/SQL
Este tipo de dados armazena os valores em formato de data, como data, mês e ano. Sempre que uma variável é definida com o tipo de dados DATE junto com a data, ela pode conter informações de hora e, por padrão, as informações de hora são definidas como 12:00:00, se não forem especificadas. Os valores precisam ser colocados entre aspas durante a atribuição para esse tipo de dados.
A norma Oracle o formato de hora para entrada e saída é 'DD-MON-YY' e é novamente definido como NLS_PARAMETERS (NLS_DATE_FORMAT) no nível da sessão.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Explicação da sintaxe:
- Acima, a variável 'ano novo' é declarada como tipo de dados DATE e recebe o valor de 1º de janeirost, data de 2015.
- A segunda declaração declara a variável data_atual como tipo de dados DATE e atribui o valor com a data atual do sistema.
- Ambas as variáveis contêm as informações de tempo.
Tipo de dados LOB PL/SQL
Este tipo de dados é usado principalmente para armazenar e manipular grandes blocos de dados não estruturados, como imagens, arquivos multimídia, etc. Oracle prefere LOB em vez do tipo de dados LONG, pois é mais flexível que o tipo de dados LONG. A seguir estão algumas das principais vantagens do LOB sobre o tipo de dados LONG.
- O número de colunas em uma tabela com tipo de dados LONG é limitado a 1, enquanto uma tabela não tem restrição quanto ao número de colunas com tipo de dados LOB.
- A ferramenta de interface de dados aceita o tipo de dados LOB da tabela durante a replicação de dados, mas omite a coluna LONG da tabela. Essas colunas LONG precisam ser replicadas manualmente.
- O tamanho da coluna LONG é de 2 GB, enquanto LOB pode armazenar até 128 TB.
- Oracle está constantemente melhorando o tipo de dados LOB em cada um de seus lançamentos de acordo com os requisitos modernos, enquanto o tipo de dados LONG é constante e não recebe muitas atualizações.
Portanto, é sempre bom usar o tipo de dados LOB em vez do tipo de dados LONG. A seguir estão os diferentes tipos de dados LOB. Eles podem armazenar até 128 terabytes.
- BLOB
- CLOB e NCLOB
- ARQUIVOB
Tipo de dados | Descrição | Sintaxe |
---|---|---|
BLOB | Este tipo de dados armazena os dados LOB no formato de arquivo binário até o tamanho máximo de 128 TB. Isso não armazena dados com base nos detalhes do conjunto de caracteres, para que possa armazenar dados não estruturados, como objetos multimídia, imagens, etc. |
Binary_data BLOB; Explicação da sintaxe:
|
CLOB e NCLOB | O tipo de dados CLOB armazena os dados LOB no conjunto de caracteres, enquanto NCLOB armazena os dados no conjunto de caracteres nativo. Como esses tipos de dados usam armazenamento baseado em conjunto de caracteres, eles não podem armazenar dados como multimídia, imagens, etc., que não podem ser colocados em uma sequência de caracteres. O tamanho máximo desses tipos de dados é 128 TB. |
Charac_data CLOB; Explicação da sintaxe:
|
ARQUIVOB |
|
Resumo
Abordamos os diferentes tipos de dados simples que estão disponíveis em PL/SQL junto com sua sintaxe. Aprenderemos sobre tipos de dados complexos em tópicos posteriores.