PLPGSQL
A PLPGSQL ou PL/pgSQL é uma linguagem estrutural estendida da SQL que tem por objetivo auxiliar as tarefas de programação no PostgreSQL. Ela incorpora à SQL características procedurais, como os benefícios e facilidades de controle de fluxo de programas que as melhores linguagens possuem. Por exemplo loops estruturados (for, while) e controle de decisão (if then else).
PLPGSQL é uma PL/SQL significa "Procedural Language extensions to SQL", que pode ser usado em bancos de dados. O PL/SQL é a linguagem SQL com construções de programação similares a outras liguagens.
Vantagens
[editar | editar código-fonte]Geralmente o uso de SQL Procedural traz as seguintes vantagens[1]:
- Suporte a módulos de linguagem;
- Cursores;
- Estrutura de Seleção;
- Estrutura de Loop;
- Combinação com SQL declarativo;
- Combinação com transações;
- Tratamento de exceções;
- Suporte a escopo de variáveis;
- Suporte aos tipos primitivos, complexos e domínios ( definidos pelo usuário).
Estruturas
[editar | editar código-fonte]Plpgsql: estruturas de seleção
[editar | editar código-fonte]IF ... THEN IF ... THEN ... ELSE IF ... THEN ... ELSE IF IF ... THEN ... ELSIF ... THEN ... ELSE IF ... THEN ... ELSEIF ... THEN ... ELSE O bloco sempre deve fechar com END IF ;
IF condição THEN
comandos;
ELSE
comandos;
END IF;
Plpgsql: estruturas de repetição
[editar | editar código-fonte]FOR..LOOP LOOP WHILE ... LOOP
BEGIN FOR reg IN consulta LOOP comandos END LOOP;
FOR i IN REVERSE 10..1 LOOP—comandos END LOOP;
FOR..LOOP e RECORD create or replace function exibeLinhaAluno () returns boolean as $$ declare linha record ;
WHILE LOOP
WHILE (condicao_v) LOOP
declarações
END LOOP;
EXIT;
EXIT WHEN condição ;