DADOS II
Rafael Silva Santos RA: 1305174
Disciplina: Banco de Dados II
Professor: Ronaldo Celso Messias Correia
Presidente Prudente
2013
Procedures Exerccios
1. Elabore uma procedure para efetuar a baixa do estoque de um produto.
A procedure dever receber dois parmetros de entrada (cdigo do produto
e quantidade vendida). Caso o produto no tenha no estoque a procedure
dever armazenar em uma tabela denominada produtos_em_falta as
seguintes informaes: data, usurio, prd_codigo, qtd_estoque,
qtd_vendida.
DELIMITER $$
DROP PROCEDURE IF EXISTS baixaDeEstoque(cod_produto INT, qtd_vendida INT) $$
CREATE PROCEDURE baixaDeEstoque(cod_produto INT, qtd_vendida INT)
BEGIN
SELECT prd_codigo, qtd_estoque FROM produto
END $$
DELIMITER ;
DELIMITER $$
DROP PROCEDURE IF EXISTS compararEstoque() $$
CREATE PROCEDURE compararEstoque()
BEGIN
SELECT * FROM prd_codigo, prd_estoque, prd_acompra WHERE (estoque_minimo >
estoque_atual)
END $$
vendido
DELIMITER $$
DROP PROCEDURE IF valorTodVendidd() $$
CREATE PROCEDURE valorTodVendidd()
BEGIN
SELECT SUM(valor) FROM item_pedido
END $$
TRIGGERS Exerccios
1. Faa um trigger para armazenar em uma tabela chamada
produtos_atualizados (prd_codigo, prd_qtd_anterior, prd_qtd_atualizada,
prd_valor) quando ocorrer uaisquer alteraes nos atributos da tabela
produtos. No entanto, caso a alterao atribua o valor zero para o
atributo prd_qtd_estoque, a tabela produtos_em_falta dever ser
alimentada com as mesmas informaes da tabela produto, exceto o
atributo prd_valor. Alm disso, o atributo prd_status do produto
atualizado deve ser modificado para NULL e o atributo orp_status de todos
os orcamentos_produtos desse produto dever ser modificado tambm
para NULL.
CREATE OR REPLACE TRIGGER t
BEFORE
INSERT OR
UPDATE OF salary, department_id OR
DELETE
ON employees
BEGIN
CASE
WHEN INSERTING THEN
DBMS_OUTPUT.PUT_LINE('Inserting');
WHEN UPDATING('salary') THEN
DBMS_OUTPUT.PUT_LINE('Updating salary');
WHEN UPDATING('department_id') THEN
DBMS_OUTPUT.PUT_LINE('Updating department ID');
WHEN DELETING THEN
DBMS_OUTPUT.PUT_LINE('Deleting');
END CASE;
END;
/
modificado
para
0),
a
tabela
orcamento_produtos_cancelados seja alimentada com as informaes da
tabela orcamentos_produtos e todos os orcamentos_produtos do
oramento cancelado devem ser fisicamente excludos. Alm disso, a
tabela orcamentos_cancelados deve ser alimentada com as mesmas
informaes do oramento cancelado e, o oramento cancelado deve ser
excludo fisicamente. Dessa forma, nas tabelas do diagrama acima
somente ficaro os orcamentos confirmados ou a serem confirmados.
BEGIN
rea de comandos
END ;