Skip to content

Commit 2b508d5

Browse files
committed
Adding class07
1 parent 2aafff6 commit 2b508d5

File tree

2 files changed

+155
-0
lines changed

2 files changed

+155
-0
lines changed
+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
-- Criação de Sequência
2+
3+
alter session set "_ORACLE_SCRIPT"=true;
4+
5+
-- Geranciar auto incremento
6+
CREATE SEQUENCE "sequence_name";
7+
START WITH n -- Definir o valor inicial da sequência (padrão 1)
8+
INCREMENT BY n -- Definir o valor incremental da sequência (padrão 1)
9+
MINVALUE n -- O valor mínimo que a sequência pode receber (padão 10^27)
10+
MAXVALUE n -- O valor máximo que a sequência pode receber (padão 10^27)
11+
CACHE -- A quantidade de valores que são alocados previamente na SGA (padrão 20 valores)
12+
-- * Quando a sequência for cíclica não pode ter cache [NOCACHE]
13+
CYCLE -- Definir se a sequência será cíclica ou não (se a sequência será reiniciada [CYCLE | NOCYCLE])
14+
15+
16+
-- Alterar uma sequência
17+
ALTER SEQUENCE "sequence_name" parâmento(s);
18+
* Não é possível alterar o valor inicial de uma sequência.
19+
20+
21+
-- Excluir uma sequência
22+
DROP SEQUENCE "sequence_name";
23+
24+
25+
-- Utilizar / manipular a sequência
26+
CURRVAL -- Retorna o valor corrente da sequência
27+
NEXTVAL -- Incrementar o valor
28+
29+
30+
CREATE TABLE CATEGORIA(
31+
id_categoria NUMERIC(2),
32+
nom_categoria VARCHAR2(20),
33+
CONSTRAINT pk_categoria PRIMARY KEY(id_categoria)
34+
);
35+
36+
37+
CREATE TABLE PRODUTO(
38+
id_produto NUMERIC(4),
39+
nom_produto VARCHAR2(30),
40+
id_categoria NUMERIC(2),
41+
vlr_produto NUMERIC(7,2),
42+
CONSTRAINT pk_produto PRIMARY KEY(id_produto),
43+
CONSTRAINT fk_produto_categoria FOREIGN KEY(id_categoria) REFERENCES categoria
44+
);
45+
46+
47+
-- Exemplos de sequêcias
48+
CREATE SEQUENCE seq_id_categoria
49+
START WITH 1
50+
INCREMENT BY 1
51+
MINVALUE 1
52+
MAXVALUE 99
53+
NOCYCLE;
54+
55+
56+
CREATE SEQUENCE seq_id_produto
57+
START WITH 1
58+
INCREMENT BY 1
59+
MINVALUE 1
60+
MAXVALUE 9999
61+
NOCYCLE;
62+
63+
64+
-- Mostrar todas as sequências
65+
SELECT * FROM USER_SEQUENCES;
66+
67+
68+
CREATE SEQUENCE seq_senha
69+
START WITH 1
70+
INCREMENT BY 1
71+
MINVALUE 1
72+
MAXVALUE 99
73+
CYCLE;
74+
75+
76+
SELECT seq_senha.CURRVAL from DUAL;
77+
SELECT seq_senha.NEXTVAL from DUAL;
78+
79+
80+
-- INSERIR REGISTRO EM UMA TABELA
81+
INSERT
82+
83+
-- Sintaxe:
84+
INSET INTO "table_name"(atributo(s)) VALUES (valor(es));
85+
86+
87+
-- Exemplos
88+
INSERT INTO CATEGORIA(id_categoria, nom_categoria)
89+
VALUES(seq_id_categoria.NEXTVAL, 'Limpeza');
90+
91+
INSERT INTO CATEGORIA(id_categoria, nom_categoria)
92+
VALUES(seq_id_categoria.NEXTVAL, 'Bebidas');
93+
94+
COMMIT;
95+
96+
97+
98+
-- Atividade 16/04/2020 - Aula Assíncrona
99+
100+
-- 1. Implementar um script para criar uma sequência para gerenciar o número do orçamento.
101+
-- A sequência deverá ser nomeada como seq_num_orcamento, valor inicial de 1, valor de incremento de 1 e valor máximo de 999999.
102+
103+
-- 2. Implementar os scritps para inserir 1 novo produto e dois orçamentos com dois itens em cada orçamento.
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-- Labotratório de Banco de Dados - Atividade 16/04/2020 - Aula Assíncrona
2+
3+
-- Wesley de Oliveira Mendes - 828.507
4+
5+
-- 1. Implementar um script para criar uma sequência para gerenciar o número do orçamento.
6+
-- A sequência deverá ser nomeada como seq_num_orcamento.
7+
-- Valor inicial de 1.
8+
-- Valor de incremento de 1.
9+
-- Valor máximo de 999999.
10+
CREATE SEQUENCE seq_num_orcamento
11+
START WITH 1
12+
INCREMENT BY 1
13+
MINVALUE 1
14+
MAXVALUE 999999
15+
NOCYCLE;
16+
17+
-- 2. Implementar os scritps para:
18+
-- Inserir:
19+
-- 1 Novo produto.
20+
-- 2 Orçamentos.
21+
-- 2 Itens em cada orçamento.
22+
23+
-- NOVO PRODUTO 1
24+
INSERT INTO PRODUTO(id_produto, id_categoria, nom_produto, vlr_produto)
25+
VALUES(SEQ_ID_PRODUTO.NEXTVAL, 3, 'Placa de Vídeo', 1000.00);
26+
-- NOVO PRODUTO 2
27+
INSERT INTO PRODUTO(id_produto, id_categoria, nom_produto, vlr_produto)
28+
VALUES(SEQ_ID_PRODUTO.NEXTVAL, 3, 'SSD', 300.00);
29+
30+
-- ORÇAMENTO 1
31+
INSERT INTO ORCAMENTO(id_orcamento, dta_orcamento, obs_orcamento)
32+
VALUES(seq_num_orcamento.NEXTVAL, '2020-04-16', 'Oçamento válido durante 15 dias.');
33+
-- ITEM 1
34+
INSERT INTO ITEM_ORCAMENTO(id_produto, id_orcamento, qtd_orcamento, vlr_item_orcamento)
35+
VALUES(1, 1001, 2, 2000.00);
36+
-- ITEM 2
37+
INSERT INTO ITEM_ORCAMENTO(id_produto, id_orcamento, qtd_orcamento, vlr_item_orcamento)
38+
VALUES(2, 1001, 3, 900.00);
39+
40+
41+
-- ORÇAMENTO 2
42+
INSERT INTO ORCAMENTO(id_orcamento, dta_orcamento, obs_orcamento)
43+
VALUES(seq_num_orcamento.NEXTVAL, '2020-04-17', 'Oçamento válido durante 20 dias.');
44+
-- ITEM 1
45+
INSERT INTO ITEM_ORCAMENTO(id_produto, id_orcamento, qtd_orcamento, vlr_item_orcamento)
46+
VALUES(1, 1002, 5, 5000.00);
47+
-- ITEM 2
48+
INSERT INTO ITEM_ORCAMENTO(id_produto, id_orcamento, qtd_orcamento, vlr_item_orcamento)
49+
VALUES(2, 1002, 2, 600.00);
50+
51+
52+
COMMIT;

0 commit comments

Comments
 (0)