Componentes da Linguagem PL/SQL

Hoje vamos mergulhar nos componentes da linguagem PL/SQL. Em um artigo anterior [Introdução à Arquitetura do PL/SQL] analisamos a arquitetura do PL/SQL

Agora quero que você imagine que estamos construindo uma casa – o PL/SQL seria o nosso conjunto de ferramentas e materiais. Vamos explorar cada peça dessa caixa de ferramentas para entender como podemos criar programas incríveis!

Conjuntos de Caracteres no Oracle

O Oracle usa dois conjuntos de caracteres principais:

  1. Conjunto de caracteres do banco de dados (Database Character Set)
  2. Conjunto de caracteres nacional (National Character Set)

Esses conjuntos são como “alfabetos” que o Oracle usa para armazenar e processar dados. Vamos entender melhor cada um:

1. Conjunto de caracteres do banco de dados

Este é o conjunto principal usado para armazenar a maioria dos dados no banco de dados, incluindo nomes de tabelas, colunas e a maioria dos tipos de dados como VARCHAR2 e CHAR.

Como verificar:

Você pode verificar o conjunto de caracteres do banco de dados usando a seguinte consulta SQL:

Exemplo de resultado:

Neste exemplo, AL32UTF8 é um conjunto de caracteres Unicode que suporta múltiplos idiomas.

2. Conjunto de caracteres nacional

Este conjunto é usado especificamente para tipos de dados NCHAR, NVARCHAR2 e NCLOB. É útil quando você precisa armazenar dados em um conjunto de caracteres diferente do conjunto de caracteres do banco de dados.

Como verificar:

Para verificar o conjunto de caracteres nacional, use esta consulta:

Exemplo de resultado:

AL16UTF16 é outro conjunto de caracteres Unicode, otimizado para dados NCHAR.

Exemplo prático

Vamos ver como isso funciona na prática:

Neste exemplo:

  • A coluna nome usa o conjunto de caracteres do banco de dados.
  • A coluna nome_nacional usa o conjunto de caracteres nacional.
  • Note o ‘N' antes da string na inserção para nome_nacional. Isso indica que estamos usando o conjunto de caracteres nacional.

Importância na prática

  1. Suporte a múltiplos idiomas: O conjunto de caracteres correto permite armazenar e processar texto em vários idiomas.
  2. Otimização de espaço: Alguns conjuntos de caracteres são mais eficientes para certos tipos de dados.
  3. Compatibilidade: É crucial para interações com sistemas externos e importação/exportação de dados.
  4. Performance: A escolha do conjunto de caracteres pode afetar o desempenho de consultas e operações de string.

Verificando suporte a caracteres específicos

Para verificar se um caractere específico é suportado, você pode tentar inseri-lo em uma tabela:

Se o caractere for exibido corretamente, ele é suportado pelo conjunto de caracteres do seu banco de dados.

Lembre-se, a escolha do conjunto de caracteres é feita na criação do banco de dados e é difícil de mudar depois. Por isso, é importante escolher sabiamente baseado nas necessidades do seu projeto!

Grupos Fundamentais de Caracteres

Nosso alfabeto PL/SQL tem quatro grupos principais:

  1. Letras: A-Z e a-z (como no nosso alfabeto normal)
  2. Dígitos: 0-9 (nossos números de sempre)
  3. Caracteres de espaço em branco: espaço, tab, nova linha, retorno de carro (são os caracteres invisíveis que dão forma ao nosso código)
  4. Caracteres de pontuação: *, +, -, =, etc. (os sinais que usamos para operações especiais)

Esses caracteres são as peças fundamentais com as quais construímos nosso código PL/SQL. Aqui você tem uma lista dos Character Sets recomendados pela Oracle.

Unidades Léxicas do PL/SQL

Agora, vamos juntar essas peças para formar palavras no nosso idioma PL/SQL. Essas “palavras” são chamadas de unidades léxicas. São como os tijolos da nossa casa de código. Temos cinco tipos principais:

  1. Identificadores: São os nomes que damos às nossas “coisas” no código, como variáveis, constantes, procedimentos e funções.
  2. Palavras reservadas: São palavras especiais que o PL/SQL guarda só para ele usar, como BEGIN, END, SELECT. É como se fossem ferramentas que só o mestre de obras pode usar.
  3. Delimitadores: São caracteres especiais que têm significados próprios, como os operadores aritméticos (+, -) e as aspas. Eles são como a argamassa que une nossos tijolos.
  4. Literais: São valores fixos no nosso código, como números (123), textos (“Olá, mundo!”), ou valores booleanos (TRUE/FALSE). São como os móveis que colocamos dentro da nossa casa de código.
  5. Comentários: São notas que deixamos no código para explicar o que ele faz. Podem ser de uma linha (–) ou de várias linhas (/* */). São como as plantas da nossa casa, que explicam como ela foi construída.

Variáveis em PL/SQL

Agora, vamos falar sobre um dos componentes mais importantes: as variáveis. Elas são como caixas onde guardamos informações no nosso programa.

Para criar uma variável, usamos a seguinte estrutura:

Por exemplo:

Regras para Nomes de Variáveis

  1. Devem começar com uma letra
  2. Podem conter letras, números, $, # e _
  3. Não são sensíveis a maiúsculas e minúsculas (v_nome é igual a V_NOME)
  4. Não podem conter espaços ou caracteres especiais (exceto $, # e _)
  5. Não podem ser palavras reservadas do PL/SQL

Exemplos de nomes válidos:

Exemplos de nomes inválidos:

Palavras Reservadas em PL/SQL

As palavras reservadas são como as regras da casa – não podemos mudá-las ou usá-las para outras coisas. Por exemplo, não podemos criar uma variável chamada “BEGIN” ou “SELECT”, porque o PL/SQL já usa essas palavras para funções específicas.

Se tentarmos usar uma palavra reservada como nome de variável, o PL/SQL vai reclamar! Por exemplo:

Este código vai gerar um erro porque “exception” é uma palavra reservada em PL/SQL.

Esse Artigo faz parte do Treinamento DBA Oracle com GRID 21. Curso 100% Prático.
Melhor Preço por Tempo Limitado. Clique Aqui e Teste Sem Risco.
30 Dias de Satisfação Garantida!

Delimitadores em PL/SQL

Os delimitadores são como a pontuação no nosso código. Eles ajudam o PL/SQL a entender onde uma instrução começa e termina, ou como realizar operações. Alguns exemplos importantes:

  • +, -, *, /: Operadores aritméticos
  • =, <>, <, >: Operadores de comparação
  • :=: Operador de atribuição
  • ||: Operador de concatenação de strings

Vejamos um exemplo:

Neste exemplo, os parênteses e os operadores matemáticos são delimitadores que controlam como as operações são realizadas.

Literais em PL/SQL

Literais são valores fixos que colocamos diretamente no nosso código. Eles podem ser:

  1. Strings (texto): Sempre entre aspas simples, como ‘Olá, mundo!'
  2. Números: Escritos diretamente, como 42 ou 3.14
  3. Booleanos: TRUE ou FALSE

Exemplo:

Lembre-se: literais de string são sensíveis a maiúsculas e minúsculas, e espaços contam! ‘Maçã' é diferente de ‘maçã' e de ‘Maçã ‘.

Conclusão

Ufa! Chegamos ao fim da nossa aula sobre os componentes da linguagem PL/SQL. Vimos como os caracteres se juntam para formar unidades léxicas, aprendemos sobre variáveis, palavras reservadas, delimitadores e literais. Cada um desses componentes é uma ferramenta poderosa na nossa caixa de construção de programas PL/SQL.

Lembre-se: assim como um bom construtor conhece suas ferramentas, um bom programador PL/SQL domina esses componentes. Com prática, você vai se sentir cada vez mais confortável usando-os para construir programas incríveis!

Scroll to Top