Questão de Banco de Dados — SQL — FGV 2025
Banco de DadosSQL
- Código
- fg121548
- Banca
- FGV
- Órgão
- TCE-PE
- Ano
- 2025
- Nível
- Superior
- Cargo
- Auditor de Controle Externo – Tecnologia da Informação
Considere o script SQL a seguir, desenvolvido para o controle de estoque de uma loja. • (Comando 1) Criação de tabela de produtos CREATE TABLE Produto ( id_produto INT PRIMARY KEY, nome VARCHAR(120) NOT NULL, preco NUMERIC(10,2) NOT NULL, quantidade INT NOT NULL ); • (Comando 2) Inserção de dado inicial INSERT INTO Produto (id_produto, nome, preco, quantidade) VALUES (1, 'Mouse Óptico', 49.90, 100); • (Comando 3) View para produtos sem estoque CREATE VIEW vw_produtos_em_falta AS SELECT id_produto, nome FROM Produto WHERE quantidade = 0; • (Comando 4) Procedure para atualizar preço CREATE PROCEDURE atualizar_preco(p_id INT, p_preco NUMERIC(10,2)) BEGIN UPDATE Produto SET preco = p_preco WHERE id_produto = p_id; END; • (Comando 5) Trigger para log de mudanças de preço CREATE TRIGGER trg_log_preco AFTER UPDATE OF preco ON Produto FOR EACH ROW BEGIN INSERT INTO LogAlteracoes(id_produto, campo, valor_antigo, valor_novo, dt_evento) VALUES (OLD.id_produto, 'preco', OLD.preco, NEW.preco, CURRENT_TIMESTAMP); END; • (Comando 6) Atualização de quantidade UPDATE Produto SET quantidade = quantidade - 1 WHERE id_produto = 1; • (Comando 7) Remoção de produtos sem estoque DELETE FROM Produto WHERE quantidade = 0; • (Comando 8) Concessão de permissão de leitura GRANT SELECT ON Produto TO analista; • (Comando 9) Alteração de esquema da tabela ALTER TABLE Produto ADD COLUMN ativo BOOLEAN DEFAULT TRUE; • (Comando 10) Revogação de permissão de inserção REVOKE INSERT ON Produto FROM analista; As instruções do tipo DML são executadas nos comandos:
- A1 – 3 – 4.
- B2 – 6 – 7.
- C2 – 8 – 10.
- D3 – 5 – 9.
- E1 – 7 – 10.