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: 
 
-   ✂️     
-   ✂️     
-   ✂️     
-   ✂️     
-   ✂️