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.
Geralmente o uso de SQL Procedural traz as seguintes vantagens[1]:
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;
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 ;