trabalho banco de dados-Triguer e Procedure

432 palavras 2 páginas
Comandos sql:

-- Criando o banco de dados com o nome estoque;
DROP DATABASE IF EXISTS estoque;
CREATE DATABASE IF NOT EXISTS estoque;

-- Selecionando o banco de dados estoque;
USE estoque;

-- Criando a tabela produto;
DROP TABLE IF EXISTS produto;
CREATE TABLE produto( codp int(4) not null, nomep varchar(20) not null, estoquep int(5) not null,
PRIMARY KEY (codp));

-- Inserindo os dados na tabela produto;
INSERT INTO produto (codp, nomep, estoquep) VALUES (1,"caneta",100), (2,"lapis",200), (3,"borracha",100), (4,"marcatexto",100); -- Criando a tabela fornecedor;
DROP TABLE IF EXISTS fornecedor;
CREATE TABLE fornecedor( codf int(4) not null, nomef varchar(20) not null,
PRIMARY KEY (codf));

-- Inserindo os dados na tabela fornecedor;
INSERT INTO fornecedor (codf, nomef) VALUES (111,"feliz"), (222,"alegre"), (333,"legal"); -- Criando a tabela compra;
DROP TABLE IF EXISTS compra;
CREATE TABLE compra( codp int(4) not null, codf int(4) not null, datac date not null, qtdc int(4) not null,
PRIMARY KEY (codp, codf),
FOREIGN KEY fk_produto(codp) REFERENCES produto(codp) ON DELETE CASCADE,
FOREIGN KEY fk_fornecedor(codf) REFERENCES fornecedor(codf) ON DELETE CASCADE);

-- Inserindo os dados na tabela compra
INSERT INTO compra (codp, codf, datac, qtdc) VALUES (1,111,"20141008",10), (2,222,"20141008",3), (3,333,"20141008",5); --Criando a tabela produtom
DROP TABLE IF EXISTS produtom;
CREATE TABLE IF NOT EXISTS produtom ( codp INT(4) NOT NULL, nomep VARCHAR(20) NOT NULL, estoquep INT(5) NOT NULL, PRIMARY KEY (codp)
);

DELIMITER // CREATE TRIGGER excluiProduto BEFORE DELETE ON produto
FOR EACH ROW BEGIN INSERT INTO produtom VALUES(OLD.codp,OLD.nomep); CALL excluirProduto (OLD.codp); END

//

CREATE TRIGGER incluiProduto BEFORE INSERT ON produto
FOR EACH ROW BEGIN DECLARE estatus BOOLEAN DEFAULT FALSE; DECLARE codProduto INT(4); SET codProduto

Relacionados