-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTabelas.sql
91 lines (61 loc) · 2.06 KB
/
Tabelas.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
CREATE TABLE PRODUTOS(
CODIGO INT NOT NULL,
DESCRICAO VARCHAR(50) NOT NULL,
DATA_VALIDADE DATETIME,
EAN VARCHAR(15) NOT NULL,
IND_INATIVO INT NOT NULL DEFAULT 0
)
ALTER TABLE PRODUTOS -- alterando uma tabela para ADD uma constante
ADD CONSTRAINT PK_PRODUTOS
PRIMARY KEY (CODIGO)
;
CREATE INDEX IDX_PRODUTOS
ON PRODUTOS(EAN)
;
INSERT INTO PRODUTOS VALUES (1, 'Nome do produto', GETDATE() 123456789, 0);
INSERT INTO PRODUTOS (CODIGO, DESCRICAO, EAN )VALUES (2, 'Nome do produto', 123456789, 0);
SELECT *
FROM PRODUTOS
WHERE DESCRICAO LIKE '%produtos%' --consultas não indexada
--SELECT COUNT(*) AS TOTAL
-- FROM PRODUTOS
CREATE TABLE LOJAS(
CODIGO INT NOT NULL,
DESCRICAO VARCHAR(50) NOT NULL,
IND_INATIVO INT NOT NULL DEFAULT 0
CONSTRAINT LOJAS_PK PRIMARY KEY(CODIGO)
)
INSERT INTO LOJAS(CODIGO, NOME) VALUES(1000, 'Filial salvador');
INSERT INTO LOJAS(CODIGO, NOME) VALUES(2000, 'Filial serrinha');
INSERT INTO LOJAS(CODIGO, NOME) VALUES(3000, 'Filial lauro de freitas');
SELECT CODIGO -- Consulta busca apenas os campos que preciso
, NOME
FROM LOJAS
WHERE IND_INATIVO = 0
CREATE TABLE ESTOQUE(
CODIGO_PRODUTO INT NOT NULL,
CODIGO_FILIAL INT NOT NULL,
QUANTIDADE DECIMAL NOT NULL DEFAULT 0,
CONSTRAINT ESTOQUE_PK PRIMARY KEY (CODIGO_PRODUTO, CODIGO_FILIAL)
);
ALTER TABLE ESTOUQUE
ADO CONSTRAINT FK_ESTOUQUE_PRODUTOS
FOREIGN KEY(CODIGO_PRODUTO)
REFERENCES PRODUTOS(CODIGO);
ALTER TABLE ESTOUQUE
ADO CONSTRAINT FK_ESTOUQUE_LOJAS
FOREIGN KEY(CODIGO_FILIAL)
REFERENCES LOJAS(CODIGO);
ALTER TABLE ESTOUQUE
ADO CONSTRAINT FK_ESTOUQUE_LOJAS
INSERT INTO ESTOQUE(CODIGO_PRODUTO, CODIGO_FILIAL, QUANTIDADE) VALUES (1 ,1000, 10)
SELECT E.CODIGO_FILIAL
,L.NOME
,E.CODIGO_PRODUTO
,P.DESCRICAO
,E.QUANTIDADE
FROM ESTOUQUE E INNER JOIN LOJAS J
ON E.CODIGO_FILIAL = L.CODIGO
INNER JOIN PRODUTOS P
ON E.CODIGO_PRODUTO = P.CODIGO
DELELE FROM ESTOQUE