Os tipos de variáveis em PL/SQL
Autor: Rudak | Publicado: 2011-07-15T05:13:00-07:00

Antes de tudo, tenhamos em mente o seguinte:

Identificadores: São os "nomes" ou 'apelidos' que damos aos elementos, tais como tabelas, cursores ou variáveis. &nbsp;Podem ter até 30 (trinta) caracteres de comprimento, devem começar com uma letra e podem ter qualquer combinação de letras, números ou caracteres especiais, tais como $, # e _.

Tipos de dados escalares

Todas as constantes e variáveis definidas em nossos programas contém um tipo de dado. É este tipo de dado que determina o formato de armazenagem, as restrições em como a variável pode ser usada e quais valores a variável pode conter.&nbsp;Um tipo de dado escalar é atômico, isto significa que ele não é formado por outros tipos de dados. O PL/SQL tem dois tipos de dados compostos, eles são registros e tabelas.

Tipos de Dados do PL/SQL

VARCHAR2 - Conjunto de caracter de comprimento variável

CHAR - Conjunto de caracter de comprimento fixo

NUMBER - Números fixos ou de ponto flutuante

BINARY_INTEGER - Valores de inteiros

PLS_INTEGER - Números para cálculos rápidos de inteiros

DATE – Datas

BOOLEAN - Valores True / False

NVARCHAR2 - Conjunto de caracter de comprimento variável que usam o conjunto nacional de caracteres

NCHAR - Conjunto de comprimento fixo que usam o conjunto nacional de caracter

ROWID - Usado para armazenar rowids físicos (Endereço físico do registro no Banco de Dados)

UROWID - Usado para armazenar rowids físicos e lógicos

LONG - Usado para armazenar conjuntos longos de caracter

LONG RAW - Usado para armazenar grandes quantidades de dados binários e figuras

RAW - Usado para armazenar dados binários

O que é NULL?

Esta é uma pergunta que é feita todo o tempo, mesmo assim muitas pessoas realmente não sabem qual é a resposta!&nbsp;NULL é desconhecido. Tenha sempre essas duas coisas em mente:

"Um Null nunca é igual a nada."


"Um Null nunca é igual a algo."

A próxima questão deve ser, 'Como comparar coisas com valores nulos?'&nbsp;É onde verificamos se o valor IS NULL ou se IS NOT NULL.

Declaração de variáveis

Antes que você possa referenciar uma variável, ela deve ser definida.&nbsp;Quando você declara a variável, o PL/SQL aloca memória para armazenar a variável. A sintaxe para a declaração das variáveis é a seguinte:

variable_name datatype [atribuição opcional];

por exemplo:

ano_da_maioridade number = 18;

Nossas declarações podem ser limitadas ou não-limitadas. Isto significa que podemos especificar a magnetude do valor que pode ser atribuído à variável. Nossa variável Number suporta até 38 dígitos, se não limitada.&nbsp;O PL/SQL alocará toda a memória que é necessária para armazenar 38 dígitos. Se limitarmos a variável usando number(2), então o PL/SQL alocará apenas a memória para armazenar os dois dígitos.

Declarações Ancoradas

Variáveis ancoradas referem-se ao uso da declaração %TYPE. O que o PL/SQL está fazendo é ancorar o tipo de dado de uma variável àquele de uma outra estrutura de dados, geralmente de uma coluna de uma tabela.&nbsp;O benefício de tipos de dados de variáveis ancoradas em programas PL/SQL com colunas de bancos de dados é que quando as declarações base mudam, o código PL/SQL não precisa ser alterado.

Dicas sobre uso de variáveis

Sempre use nomes claros e tente estabelecer uma convenção de nomes para seus diferentes tipos de variáveis.&nbsp;Evite variáveis recicláveis. Leia esta instrução como NUNCA recicle variáveis.&nbsp;Reusar nomes de variáveis com o mesmo programa pode causar mais problemas do que você poderia imaginar. Tente depurar algum assim qualquer dia!

Use constantes nomeadas sempre que possível e evite o uso de valores numéricos.

Remova variáveis não usadas de seus programas PL/SQL. Muitos programas PL/SQL desenvolvem-se, em muitos casos, através de muitos anos e muitas versões.

Quando as variáveis não estiverem mais sendo usadas, remova-as do programa. Isto tornará o código muito mais fácil de entender.

Se a variável representa uma coluna de banco de dados, então ancore a variável à coluna do banco usando a declaração %type.

fonte:&nbsp;http://imasters.com.br/artigo/1466/oracle/variaveis-no-pl-sql