Questão FC295940
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 ta
Sistema de Gerenciamento de Banco de Dados (SGBD)
CESGRANRIO · 2024
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
- altera o capital social de todas as indústrias.
- busca as empresas com mais de uma alteração.
- registra a quantidade de alterações realizadas em todas as indústrias.
- incrementa a quantidade de alterações de todas as indústrias de São Paulo.
- atualiza o capital social de uma indústria e registra quantas alterações foram realizadas nesse capital social.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A procedure atualiza_capital_social recebe os parâmetros id (CNPJ) e capital, e declara a variável booleana industria_cadastrada.
O comando SELECT TRUE INTO industria_cadastrada FROM INDUSTRIA WHERE cnpj = id verifica se existe a indústria com o CNPJ informado; se existir, a variável fica verdadeira.
Dentro do IF é executado o UPDATE que define capital-social = capital e incrementa o contador: \(qtd\text{-}alteracoes = qtd\text{-}alteracoes + 1\), usando a cláusula WHERE cnpj = id para afetar apenas aquela linha.
O COMMIT persiste a alteração. Como cnpj é chave primária, a atualização ocorre em uma única indústria e o contador registra o número de mudanças no capital social.
Conteúdo do catálogo FC Concursos · Atualizado em