· 8 years ago · Jun 15, 2018, 10:08 AM
1CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'etec123';
2GRANT ALL PRIVILEGES ON * . * TO 'usuario'@'localhost';
3FLUSH PRIVILEGES;
4
5create database projetoEtec;
6
7use projetoEtec;
8
9create table if not exists tbl_produto(
10id_prod int not null auto_increment,
11constraint id_prod_pk primary key(id_prod),
12nome_prod nvarchar(60) not null,
13qtd_estoque int not null,
14dt_cadastro datetime null DEFAULT NOW() not null
15);
16
17create table if not exists tbl_setor(
18id_setor int not null auto_increment,
19constraint id_setor_pk primary key(id_setor),
20nome_setor nvarchar(60) not null
21);
22
23create table if not exists tbl_funcionario(
24id_func int not null auto_increment,
25constraint id_func_pk primary key(id_func),
26nome_func nvarchar(60) not null,
27id_setor_fk int,
28constraint id_setor_fk foreign key (id_setor_fk) references tbl_setor on delete cascade on update cascade
29);
30
31create table if not exists tbl_almoxarifado(
32id_almx int not null auto_increment,
33constraint id_almx_pk primary key(id_almx),
34id_nome_fk int,
35constraint id_nome_fk foreign key (id_nome_fk) references tbl_funcionario on delete cascade on update cascade,
36dt_retiro datetime null DEFAULT NOW() not null
37);
38
39create table if not exists tbl_lista(
40id_lista int not null auto_increment,
41constraint id_lista_pk primary key(id_lista),
42qtd_retirada int not null,
43id_prod_fk int,
44constraint id_prod_fk foreign key (id_prod_fk) references tbl_produto on delete cascade on update cascade,
45id_almx_fk int,
46constraint id_almx_fk foreign key (id_almx_fk) references tbl_almoxarifado on delete cascade on update cascade
47);
48
49SHOW TRIGGERS;
50
51DELIMITER //
52drop trigger if exists trg_notificacao //
53CREATE TRIGGER TGR_BAIXAPRODUTO AFTER insert on tbl_lista
54for each row
55BEGIN
56
57SET @qtd_retirada := NEW.qtd_retirada;
58SET @id_produto := NEW.id_prod_fk;
59SET @qtd_atual := (select qtd_estoque from tbl_produto where id_prod = @id_produto);
60set @novaQtd := @qtd_atual - @qtd_retirada;
61 update tbl_produto set qtd_estoque = @novaQtd where id_prod = @id_produto;
62
63END//
64DELIMITER ;
65
66// erro na select: Error Code: 1054. Unknown column 'tbl_almoxarifado.id_nome_fk' in 'on clause'
67
68-- create view formulario as
69 select tbl_funcionario.*, tbl_lista.*, tbl_produto.*, tbl_setor.*, tbl_almoxarifado.*
70 from tbl_produto
71 left join tbl_funcionario on tbl_funcionario.id_func = tbl_almoxarifado.id_nome_fk
72 left join tbl_setor on tbl_funcionario.id_setor_fk = tbl_setor.id_setor
73 left join tbl_almoxarifado on tbl_almoxarifado.id_almx = tbl_lista.id_almx_fk
74 left join tbl_lista on tbl_lista.id_prod_fk = tbl_produto.id_prod;