Questão FC369504
Considere o script SQL a seguir, desenvolvido para o controle de estoque de estoque de uma loja. • (Comando 1) Criação de tabela de produtos CREATE TABLE Produto ( id_produto INT P
Linguagem SQL
FGV · 2025
Considere o script SQL a seguir, desenvolvido para o controle de estoque 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:
- 1 – 3 – 4.
- 2 – 6 – 7.
- 2 – 8 – 10.
- 3 – 5 – 9.
- 1 – 7 – 10.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
DML (Data Manipulation Language) refere-se às instruções que alteram os dados contidos nas tabelas. No script, os comandos apontados na alternativa correta são exemplos claros desse tipo.
Comando 2 – INSERT: "INSERT INTO Produto ..." insere uma nova linha na tabela, adicionando dados ao conjunto existente — ação típica de DML.
Comando 6 – UPDATE: "UPDATE Produto SET quantidade = quantidade - 1 ..." modifica valores em registros já existentes (a quantidade do produto é decrementada), caracterizando operação de manipulação de dados.
Comando 7 – DELETE: "DELETE FROM Produto WHERE quantidade = 0;" remove registros da tabela, ou seja, exclui dados armazenados — também tipicamente DML.
Essas três instruções atuam diretamente sobre os registros em tempo de execução e podem participar de transações e acionar triggers, por serem operações de alteração de dados.
Conteúdo do catálogo FC Concursos · Atualizado em