Considere que, em um banco de dados, há uma tabela com dados de indústrias, contendo os seguintes atributos:
INDUSTRIA (cnpj, razao-social, capital-social, qtd-alteracoes)
Nessa tabela, a chave primária é o atributo cnpj.
Foi criada a seguinte stored procedure, codificada segundo a sintaxe do PostgreSQL:
CREATE PROCEDURE atualiza_capital_social (id varchar(14), capital float) LANGUAGE plpgsql AS $$ DECLARE industria_cadastrada BOOLEAN; BEGIN SELECT TRUE INTO industria_cadastrada FROM INDUSTRIA WHERE cnpj = id; IF industria_cadastrada THEN UPDATE INDUSTRIA SET capital-social = capital, qtd-alteracoes = qtd-alteracoes + 1 WHERE cnpj = id; COMMIT; END IF; END; $$;
Ao ser executada, essa procedure
-
A altera o capital social de todas as indústrias.
-
B busca as empresas com mais de uma alteração.
-
C registra a quantidade de alterações realizadas em todas as indústrias.
-
D incrementa a quantidade de alterações de todas as indústrias de São Paulo.
-
E atualiza o capital social de uma indústria e registra quantas alterações foram realizadas nesse capital social.