SGBD
Recurso utilizado para executar blocos de programação em ambientes client/server. Esses blocos de programação utilizam algumas poucas funções entre elas:
IF/Then/ Else;
While / do;
For / Select / Into;
Suspend
Begin / end;
Sua principal vantagem é ser processada no servidor. Já que sua instrução fica junto aos dados;
Com isso, reduz consideravelmente o trafego na rede.
Possui parâmetros de entrada e parâmetros de saída;
Subdivide-se em duas categorias:
Procedures selecionáveis
Procedures não selecionáveis
Procedures selecionáveis: retornam os valores contidos nos parâmetros de saída;
Procedures não selecionáveis: normalmente atualizam dados (Insert / Update / Delete).
Sintaxe:
Procedure input1 type, input2 typem, ...) return (output1 type, output2 type, …) as declare variable var1 type II II var2 type begin instrução1; instrução2; end
Chamada de uma SP:
Selecionável: Select * from
Não-Selecionável: execute procedure
Comandos utilizados:
Obrigatoriamente devemos ter o comando SUSPEND;
Esse comando SUSPEND cria uma instância (registro) retornando os valores contidos nos parâmetros de saída;
Outro conjunto de comandos que usamos é o For / Select / Into, que busca dados das tabelas;
Create Procedure obter_mes returns (mês integer, descrição varchar(10)) as begin mês = 1; descricao = 'janeiro' suspend; mês = 2; descricao = 'fevereiro' suspend; . . . mês = 12; descricao = 'dezembro' suspend; end;
Chamada: Select * from obter_mes
Create Procedure obter_UF returns (apelido varchar(2), nome varchar(20)) as begin apelido = 'SC'; nome= 'Santa Catarina' suspend; apelido = 'PR'; nome= 'Paraná' suspend; Chamada: select * from obter_uf
Create Procedure lista_veiculo returns (id integer, modelo varchar(40), sequencia integer) as begin sequencia = 0; For select v;idveiculo, m.nome, from veiculo v