PL / SQL - Sintaxe Básica
Neste capítulo, discutiremos a sintaxe básica da PL / SQL, que é um block-structuredlíngua; isso significa que os programas PL / SQL são divididos e escritos em blocos lógicos de código. Cada bloco consiste em três sub-partes -
S.No | Seções e descrição |
---|---|
1 | Declarations Esta seção começa com a palavra-chave DECLARE. É uma seção opcional e define todas as variáveis, cursores, subprogramas e outros elementos a serem usados no programa. |
2 | Executable Commands Esta seção está entre as palavras-chave BEGIN e ENDe é uma seção obrigatória. Consiste nas instruções PL / SQL executáveis do programa. Deve ter pelo menos uma linha de código executável, que pode ser apenas umNULL command para indicar que nada deve ser executado. |
3 | Exception Handling Esta seção começa com a palavra-chave EXCEPTION. Esta seção opcional contémexception(s) que tratam de erros no programa. |
Cada instrução PL / SQL termina com um ponto e vírgula (;). Os blocos PL / SQL podem ser aninhados em outros blocos PL / SQL usandoBEGIN e END. A seguir está a estrutura básica de um bloco PL / SQL -
DECLARE
<declarations section>
BEGIN
<executable command(s)>
EXCEPTION
<exception handling>
END;
O exemplo 'Hello World'
DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/
o end;linha sinaliza o fim do bloco PL / SQL. Para executar o código a partir da linha de comando SQL, pode ser necessário digitar / no início da primeira linha em branco após a última linha do código. Quando o código acima é executado no prompt SQL, ele produz o seguinte resultado -
Hello World
PL/SQL procedure successfully completed.
Os identificadores PL / SQL
Os identificadores PL / SQL são constantes, variáveis, exceções, procedimentos, cursores e palavras reservadas. Os identificadores consistem em uma letra seguida opcionalmente por mais letras, números, cifrões, sublinhados e sinais numéricos e não devem exceder 30 caracteres.
Por padrão, identifiers are not case-sensitive. Então você pode usarinteger ou INTEGERpara representar um valor numérico. Você não pode usar uma palavra-chave reservada como identificador.
Os delimitadores PL / SQL
Um delimitador é um símbolo com um significado especial. A seguir está a lista de delimitadores em PL / SQL -
Delimitador | Descrição |
---|---|
+, -, *, / | Adição, subtração / negação, multiplicação, divisão |
% | Indicador de atributo |
' | Delimitador de string de caracteres |
. | Seletor de componente |
(,) | Delimitador de expressão ou lista |
: | Indicador de variável de host |
, | Separador de item |
" | Delimitador de identificador citado |
= | Operador relacional |
@ | Indicador de acesso remoto |
; | Terminador de declaração |
:= | Operador de atribuição |
=> | Operador de associação |
|| | Operador de concatenação |
** | Operador de exponenciação |
<<, >> | Delimitador de rótulo (início e fim) |
/*, */ | Delimitador de comentário de várias linhas (início e fim) |
-- | Indicador de comentário de linha única |
.. | Operador de alcance |
<, >, <=, >= | Operadores relacionais |
<>, '=, ~=, ^= | Diferentes versões de NOT EQUAL |
Os Comentários PL / SQL
Os comentários do programa são declarações explicativas que podem ser incluídas no código PL / SQL que você escreve e ajudam qualquer pessoa a ler seu código-fonte. Todas as linguagens de programação permitem alguma forma de comentários.
O PL / SQL oferece suporte a comentários de uma e de várias linhas. Todos os caracteres disponíveis em qualquer comentário são ignorados pelo compilador PL / SQL. Os comentários de linha única PL / SQL começam com o delimitador - (hífen duplo) e os comentários de várias linhas são delimitados por / * e * /.
DECLARE
-- variable declaration
message varchar2(20):= 'Hello, World!';
BEGIN
/*
* PL/SQL executable statement(s)
*/
dbms_output.put_line(message);
END;
/
Quando o código acima é executado no prompt SQL, ele produz o seguinte resultado -
Hello World
PL/SQL procedure successfully completed.
Unidades de programa PL / SQL
Uma unidade PL / SQL é qualquer uma das seguintes -
- Bloco PL / SQL
- Function
- Package
- Corpo da embalagem
- Procedure
- Trigger
- Type
- Corpo do tipo
Cada uma dessas unidades será discutida nos próximos capítulos.