FC ConcursosFC Concursos

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

  1. altera o capital social de todas as indústrias.
  2. busca as empresas com mais de uma alteração.
  3. registra a quantidade de alterações realizadas em todas as indústrias.
  4. incrementa a quantidade de alterações de todas as indústrias de São Paulo.
  5. 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

Continue aprendendo