Last active
May 25, 2019 17:05
-
-
Save celsowm/b139713d65d6c42df084269b3f150a2d to your computer and use it in GitHub Desktop.
livraria_oraclev0.2.sql
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- -------------------------------------------------------- | |
-- Servidor: 10.120.100.14 | |
-- Versão do servidor: 5.1.61 - Source distribution | |
-- OS do Servidor: redhat-linux-gnu | |
-- HeidiSQL Versão: 10.1.0.5464 | |
-- VERSÃO CORRIGIDA POR TARCÍSCIO FREITAS: https://www.linkedin.com/in/tarcisio-freitas-1484bb9/ | |
-- -------------------------------------------------------- | |
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; | |
/*!40101 SET NAMES utf8 */; | |
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; | |
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; | |
-- Copiando estrutura do banco de dados para livraria | |
DROP USER livraria CASCADE; | |
CREATE USER livraria IDENTIFIED BY livraria /*!40100 DEFAULT CHARACTER SET latin1 */; | |
/* Instruções de ajustes | |
1. Retirada de todo carcter "`" que antecede o nome de qualquer objeto | |
2. Conceder alguma cota para o usuario livraria: ilimitado ou um valor qq. Coloquei 100mb | |
3. Determinar a ordem de criação dos objetos. As tabela que menos dependem de outras precisam ser criadas antes. | |
4. Objetos partilhando o mesmo nome, comummente constraints e índices. | |
5. Os erros --Ora- registrei em cada ajuste | |
*/ | |
--GRANT UNLIMITED TABLESPACE TO livraria; /*ou */ | |
ALTER USER livraria QUOTA 100M ON users; | |
-- ORA-01950: não há privilégios no tablespace USERS' | |
/* Para resovler o erro acima incluir a instrução abaixo antes do Create Table*/ | |
ALTER SESSION SET CURRENT_SCHEMA = livraria; | |
-- Copiando estrutura para tabela livraria.editora | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE editora'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE editora ( | |
id number(10) NOT NULL, | |
nome varchar2(255) NOT NULL, | |
website varchar2(255) NOT NULL, | |
cnpj varchar2(14) NOT NULL, | |
endereco varchar2(255) NOT NULL, | |
PRIMARY KEY (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE editora_seq START WITH 5 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER editora_seq_tr | |
BEFORE INSERT ON editora FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT editora_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
-- Copiando dados para a tabela livraria.editora: ~4 rows (aproximadamente) | |
DELETE FROM editora; | |
/*!40000 ALTER TABLE editora DISABLE KEYS */; | |
INSERT INTO editora (id, nome, website, cnpj, endereco) | |
SELECT 1, 'Editora Organizações Tabajara', 'http://www.tabajara-livros.com.br', '66968328000104', '545345345' FROM dual UNION ALL | |
SELECT 2, 'Editora Mosantos LTDA', 'http://www.editora-mosantos.com.br', '80880262000127', '23452345235' FROM dual UNION ALL | |
SELECT 3, 'Editora Top das Galaxias', 'http://www.w3.org/Addressing/URL/url-spec.txt', '36215975395', '34252345234' FROM dual UNION ALL | |
SELECT 4, 'EDITORA VILA 8', 'www.vila8.org', '1654984546549', '123412341234' FROM dual; | |
/*!40000 ALTER TABLE editora ENABLE KEYS */; | |
-- ORA-01400: não é possível inserir NULL em ("LIVRARIA"."EDITORA"."ENDERECO") | |
-- Faltou o campo endereço para os ultimos 4 registros | |
-- Copiando estrutura para tabela livraria.pedido | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE pedido'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
-- Copiando estrutura para tabela livraria.autor | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE autor'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE autor ( | |
id number(10) NOT NULL, | |
nome varchar2(255) NOT NULL, | |
PRIMARY KEY (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE autor_seq START WITH 17 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER autor_seq_tr | |
BEFORE INSERT ON autor FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT autor_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
-- Copiando dados para a tabela livraria.autor: ~16 rows (aproximadamente) | |
DELETE FROM autor; | |
/*!40000 ALTER TABLE autor DISABLE KEYS */; | |
INSERT INTO autor (id, nome) | |
SELECT 1, 'Mosantos de Vilar dos Telles' FROM dual UNION ALL | |
SELECT 2, 'Jonas Guanabara' FROM dual UNION ALL | |
SELECT 3, 'Joselito de Cascatinha' FROM dual UNION ALL | |
SELECT 4, 'Luis Boça' FROM dual UNION ALL | |
SELECT 5, 'Charlinho Menino Guerreiro' FROM dual UNION ALL | |
SELECT 6, 'Dona Maxima' FROM dual UNION ALL | |
SELECT 7, 'Doutor Lincon' FROM dual UNION ALL | |
SELECT 8, 'Linhares' FROM dual UNION ALL | |
SELECT 9, 'Jonny Boganville' FROM dual UNION ALL | |
SELECT 10, ' Jimmy Leroy' FROM dual UNION ALL | |
SELECT 11, 'Professor Gilmar' FROM dual UNION ALL | |
SELECT 12, 'Padre Quemedo' FROM dual UNION ALL | |
SELECT 13, 'Lagreca' FROM dual UNION ALL | |
SELECT 14, 'Dedé Carvoeiro' FROM dual UNION ALL | |
SELECT 15, 'Carlos Carne' FROM dual UNION ALL | |
SELECT 16, 'Seu Madruga' FROM dual; | |
/*!40000 ALTER TABLE autor ENABLE KEYS */; | |
-- Copiando estrutura para tabela livraria.livro | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE livro'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE livro ( | |
id number(10) NOT NULL, | |
titulo varchar2(255) NOT NULL, | |
preco number(18,2) NOT NULL, | |
isbn varchar2(13) NOT NULL, | |
edicao number(10) NOT NULL, | |
ano_publicacao char(4) NOT NULL, | |
editora_id number(10) NOT NULL, | |
PRIMARY KEY (id), | |
CONSTRAINT isbn UNIQUE (isbn) | |
, | |
CONSTRAINT livro_ibfk_1 FOREIGN KEY (editora_id) REFERENCES editora (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE livro_seq START WITH 10 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER livro_seq_tr | |
BEFORE INSERT ON livro FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT livro_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
-- Copiando dados para a tabela livraria.livro: ~9 rows (aproximadamente) | |
DELETE FROM livro; | |
/*!40000 ALTER TABLE livro DISABLE KEYS */; | |
INSERT INTO livro (id, titulo, preco, isbn, edicao, ano_publicacao, editora_id) | |
SELECT 1, 'Sucesso na Vida', 39.99, '123456789112', 15, '2012', 1 FROM dual UNION ALL | |
SELECT 2, 'Brincadeira em Excesso Virou Bobeira', 44.01, '9876543211112', 2, '2015', 2 FROM dual UNION ALL | |
SELECT 3, 'Fazendo Bolos com CakePHP', 89.95, '3216547894561', 3, '2017', 1 FROM dual UNION ALL | |
SELECT 4, 'Vamos Investigar?', 63.22, '7849516236295', 2, '2014', 2 FROM dual UNION ALL | |
SELECT 5, 'Portabilidade Manual: Um Tutorial Prático', 100.99, '4568521597534', 2, '1997', 2 FROM dual UNION ALL | |
SELECT 6, 'Brazil Mulambo', 9.99, '1236547562111', 1, '2014', 1 FROM dual UNION ALL | |
SELECT 7, 'Tudo pelo estudo', 1.99, '12345678965', 1, '2002', 3 FROM dual UNION ALL | |
SELECT 8, 'Quem Cedo Madruga Deus Ajuda', 55.99, '9157357561', 5, '1997', 1 FROM dual UNION ALL | |
SELECT 9, 'Madrugando', 18.89, '5485315675165', 10, '1991', 4 FROM dual; | |
-- Copiando estrutura para tabela livraria.autor_livro | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE autor_livro'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE autor_livro ( | |
id number(10) NOT NULL, | |
autor_id number(10) NOT NULL, | |
livro_id number(10) NOT NULL, | |
PRIMARY KEY (id), | |
CONSTRAINT autor_id UNIQUE (autor_id,livro_id) | |
, | |
CONSTRAINT autor_livro_ibfk_1 FOREIGN KEY (autor_id) REFERENCES autor (id), | |
CONSTRAINT autor_livro_ibfk_2 FOREIGN KEY (livro_id) REFERENCES livro (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE autor_livro_seq START WITH 24 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER autor_livro_seq_tr | |
BEFORE INSERT ON autor_livro FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT autor_livro_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
CREATE INDEX autor_id_2 ON autor_livro (autor_id); | |
CREATE INDEX livro_id ON autor_livro (livro_id); | |
-- Copiando dados para a tabela livraria.autor_livro: ~17 rows (aproximadamente) | |
DELETE FROM autor_livro; | |
/*!40000 ALTER TABLE autor_livro DISABLE KEYS */; | |
--ORA-02291: restrição de integridade (LIVRARIA.AUTOR_LIVRO_IBFK_2) violada - chave mãe não localizada | |
INSERT INTO autor_livro (id, autor_id, livro_id) | |
SELECT 1, 1, 2 FROM dual UNION ALL | |
SELECT 8, 1, 4 FROM dual UNION ALL | |
SELECT 9, 1, 5 FROM dual UNION ALL | |
SELECT 10, 1, 6 FROM dual UNION ALL | |
SELECT 2, 2, 1 FROM dual UNION ALL | |
SELECT 3, 3, 1 FROM dual UNION ALL | |
SELECT 16, 3, 3 FROM dual UNION ALL | |
SELECT 11, 3, 6 FROM dual UNION ALL | |
SELECT 17, 4, 3 FROM dual UNION ALL | |
SELECT 18, 5, 3 FROM dual UNION ALL | |
SELECT 12, 5, 6 FROM dual UNION ALL | |
SELECT 13, 5, 7 FROM dual UNION ALL | |
SELECT 20, 11, 8 FROM dual UNION ALL | |
SELECT 21, 12, 8 FROM dual UNION ALL | |
SELECT 22, 14, 8 FROM dual UNION ALL | |
SELECT 23, 16, 8 FROM dual UNION ALL | |
SELECT 15, 16, 9 FROM dual; | |
/*!40000 ALTER TABLE autor_livro ENABLE KEYS */; | |
-- Copiando estrutura para tabela livraria.cliente | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE cliente'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE cliente ( | |
id number(10) NOT NULL, | |
nome varchar2(255) NOT NULL, | |
cpf varchar2(11) NOT NULL, | |
telefone varchar2(20) NOT NULL, | |
PRIMARY KEY (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE cliente_seq START WITH 5 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER cliente_seq_tr | |
BEFORE INSERT ON cliente FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT cliente_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
-- Copiando dados para a tabela livraria.cliente: ~4 rows (aproximadamente) | |
DELETE FROM cliente; | |
/*!40000 ALTER TABLE cliente DISABLE KEYS */; | |
INSERT INTO cliente (id, nome, cpf, telefone) | |
SELECT 1, 'Steven Beagle', '33554488662', '219999999' FROM dual UNION ALL | |
SELECT 2, 'Dudu Marchiori', '78945873215', '2155555555' FROM dual UNION ALL | |
SELECT 3, 'Adilson Polloskki', '32145675395', '1166666666' FROM dual UNION ALL | |
SELECT 4, 'Kiko', '12345678999', '2154355646' FROM dual; | |
/*!40000 ALTER TABLE cliente ENABLE KEYS */; | |
-- Copiando estrutura para tabela livraria.funcionario | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE funcionario'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE funcionario ( | |
id number(10) NOT NULL, | |
nome varchar2(255) NOT NULL, | |
cpf varchar2(11) NOT NULL, | |
gerente_id number(10) DEFAULT NULL, | |
PRIMARY KEY (id) | |
, | |
CONSTRAINT funcionario_ibfk_1 FOREIGN KEY (gerente_id) REFERENCES funcionario (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE funcionario_seq START WITH 17 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER funcionario_seq_tr | |
BEFORE INSERT ON funcionario FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT funcionario_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
CREATE INDEX gerente_id ON funcionario (gerente_id); | |
-- Copiando dados para a tabela livraria.funcionario: ~9 rows (aproximadamente) | |
DELETE FROM funcionario; | |
/*!40000 ALTER TABLE funcionario DISABLE KEYS */; | |
INSERT INTO funcionario (id, nome, cpf, gerente_id) | |
SELECT 7, 'Lurdes Boça', '74832651489', NULL FROM dual UNION ALL | |
SELECT 8, 'Wallace Guilhermino', '65478932145', 7 FROM dual UNION ALL | |
SELECT 9, 'Edson Wander', '54698715324', 8 FROM dual UNION ALL | |
SELECT 10, 'Cláudio Ricardo', '45667789442', 7 FROM dual UNION ALL | |
SELECT 11, 'Neo Labaque', '54789634128', 7 FROM dual UNION ALL | |
SELECT 13, 'Renato Noiadão', '56842365142', 10 FROM dual UNION ALL | |
SELECT 14, 'José Canjica Martins', '24862486248', 7 FROM dual UNION ALL | |
SELECT 15, 'Carlos Calhorda', '24321589654', 8 FROM dual UNION ALL | |
SELECT 16, 'Chaves', '57352187256', NULL FROM dual; | |
/*!40000 ALTER TABLE funcionario ENABLE KEYS */; | |
CREATE TABLE pedido ( | |
id number(10) NOT NULL, | |
data timestamp(0) NOT NULL, | |
cliente_id number(10) NOT NULL, | |
funcionario_id number(10) NOT NULL, | |
PRIMARY KEY (id) | |
, | |
CONSTRAINT pedido_ibfk_1 FOREIGN KEY (funcionario_id) REFERENCES funcionario (id), | |
CONSTRAINT pedido_ibfk_2 FOREIGN KEY (cliente_id) REFERENCES cliente (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE pedido_seq START WITH 37 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER pedido_seq_tr | |
BEFORE INSERT ON pedido FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT pedido_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
-- Copiando estrutura para tabela livraria.habilitacao | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE habilitacao'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE habilitacao ( | |
id number(10) NOT NULL, | |
numero varchar2(11) NOT NULL, | |
categoria char(2) NOT NULL, | |
funcionario_id number(10) NOT NULL, | |
PRIMARY KEY (id), | |
CONSTRAINT funcionario_id UNIQUE (funcionario_id), | |
CONSTRAINT habilitacao_ibfk_1 FOREIGN KEY (funcionario_id) REFERENCES funcionario (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE habilitacao_seq START WITH 9 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER habilitacao_seq_tr | |
BEFORE INSERT ON habilitacao FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT habilitacao_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
-- Copiando dados para a tabela livraria.habilitacao: ~7 rows (aproximadamente) | |
DELETE FROM habilitacao; | |
/*!40000 ALTER TABLE habilitacao DISABLE KEYS */; | |
INSERT INTO habilitacao (id, numero, categoria, funcionario_id) | |
SELECT 1, '78495162354', 'B', 7 FROM dual UNION ALL | |
SELECT 2, '99885523654', 'AD', 10 FROM dual UNION ALL | |
SELECT 3, '45687512598', 'C', 13 FROM dual UNION ALL | |
SELECT 5, '12396348525', 'A', 11 FROM dual UNION ALL | |
SELECT 6, '21575698423', 'AB', 14 FROM dual UNION ALL | |
SELECT 7, '14785236548', 'C', 15 FROM dual UNION ALL | |
SELECT 8, '23484562848', 'AB', 16 FROM dual; | |
/*!40000 ALTER TABLE habilitacao ENABLE KEYS */; | |
-- Copiando estrutura para tabela livraria.item_pedido | |
BEGIN | |
EXECUTE IMMEDIATE 'DROP TABLE item_pedido'; | |
EXCEPTION | |
WHEN OTHERS THEN NULL; | |
END; | |
/ | |
CREATE TABLE item_pedido ( | |
id number(10) NOT NULL, | |
pedido_id number(10) NOT NULL, | |
livro_id number(10) NOT NULL, | |
quantidade number(10) NOT NULL, | |
PRIMARY KEY (id), | |
CONSTRAINT pedido_id UNIQUE (pedido_id,livro_id) | |
, | |
CONSTRAINT item_pedido_ibfk_1 FOREIGN KEY (pedido_id) REFERENCES pedido (id), | |
CONSTRAINT item_pedido_ibfk_2 FOREIGN KEY (livro_id) REFERENCES livro (id) | |
) ; | |
-- Generate ID using sequence and trigger | |
CREATE SEQUENCE item_pedido_seq START WITH 41 INCREMENT BY 1; | |
CREATE OR REPLACE TRIGGER item_pedido_seq_tr | |
BEFORE INSERT ON item_pedido FOR EACH ROW | |
WHEN (NEW.id IS NULL) | |
BEGIN | |
SELECT item_pedido_seq.NEXTVAL INTO :NEW.id FROM DUAL; | |
END; | |
/ | |
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; | |
Select sysdate From dual; | |
-- Copiando dados para a tabela livraria.pedido: ~21 rows (aproximadamente) | |
DELETE FROM pedido; | |
/*!40000 ALTER TABLE pedido DISABLE KEYS */; | |
INSERT INTO pedido (id, data, cliente_id, funcionario_id) | |
SELECT 1, to_date ('2016-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 1, 10 FROM dual UNION ALL | |
SELECT 2, to_date ('2014-12-11 13:00:00','yyyy-mm-dd hh24:mi:ss'), 2, 9 FROM dual UNION ALL | |
SELECT 3, to_date ('2017-03-30 06:30:37','yyyy-mm-dd hh24:mi:ss'), 1, 7 FROM dual UNION ALL | |
SELECT 5, to_date ('2017-03-26 04:34:00','yyyy-mm-dd hh24:mi:ss'), 1, 7 FROM dual UNION ALL | |
SELECT 6, to_date ('2038-03-27 16:47:00','yyyy-mm-dd hh24:mi:ss'), 1, 7 FROM dual UNION ALL | |
SELECT 7, to_date ('2017-05-22 12:55:00','yyyy-mm-dd hh24:mi:ss'), 1, 16 FROM dual UNION ALL | |
SELECT 11, to_date ('2017-05-25 15:07:00','yyyy-mm-dd hh24:mi:ss'), 4, 16 FROM dual UNION ALL | |
SELECT 12, to_date ('2017-05-26 14:09:00','yyyy-mm-dd hh24:mi:ss'), 4, 11 FROM dual UNION ALL | |
SELECT 16, to_date ('2017-05-26 14:26:00','yyyy-mm-dd hh24:mi:ss'), 1, 7 FROM dual UNION ALL | |
SELECT 17, to_date ('2017-05-26 14:28:00','yyyy-mm-dd hh24:mi:ss'), 2, 10 FROM dual UNION ALL | |
SELECT 20, to_date ('2017-05-26 15:14:00','yyyy-mm-dd hh24:mi:ss'), 1, 10 FROM dual UNION ALL | |
SELECT 26, to_date ('2017-05-29 13:04:00','yyyy-mm-dd hh24:mi:ss'), 4, 14 FROM dual UNION ALL | |
SELECT 27, to_date ('2017-05-29 13:04:00','yyyy-mm-dd hh24:mi:ss'), 4, 14 FROM dual UNION ALL | |
SELECT 28, to_date ('2017-05-29 13:05:00','yyyy-mm-dd hh24:mi:ss'), 3, 10 FROM dual UNION ALL | |
SELECT 29, to_date ('2017-05-30 14:49:00','yyyy-mm-dd hh24:mi:ss'), 3, 9 FROM dual UNION ALL | |
SELECT 30, to_date ('2017-05-31 12:44:00','yyyy-mm-dd hh24:mi:ss'), 2, 14 FROM dual UNION ALL | |
SELECT 32, to_date ('2017-05-31 12:49:00','yyyy-mm-dd hh24:mi:ss'), 3, 13 FROM dual UNION ALL | |
SELECT 33, to_date ('2017-05-31 12:53:00','yyyy-mm-dd hh24:mi:ss'), 4, 8 FROM dual UNION ALL | |
SELECT 34, to_date ('2017-05-31 12:53:00','yyyy-mm-dd hh24:mi:ss'), 3, 15 FROM dual UNION ALL | |
SELECT 35, to_date ('2017-06-19 19:00:00','yyyy-mm-dd hh24:mi:ss'), 1, 7 FROM dual UNION ALL | |
SELECT 36, to_date ('2017-04-19 04:07:00','yyyy-mm-dd hh24:mi:ss'), 1, 7 FROM dual; | |
/*!40000 ALTER TABLE pedido ENABLE KEYS */; | |
-- ORA-01843: não é um mês válido | |
-- solução: ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-RRRR' | |
-- Formatar a data no insert | |
CREATE INDEX livro_idx ON item_pedido (livro_id); | |
--ORA-00955: nome já está sendo usado por um objeto existente | |
-- Como estava Antes: CREATE INDEX livro_id ON item_pedido (livro_id); | |
-- Copiando dados para a tabela livraria.item_pedido: ~37 rows (aproximadamente) | |
DELETE FROM item_pedido; | |
/*!40000 ALTER TABLE item_pedido DISABLE KEYS */; | |
INSERT INTO item_pedido (id, pedido_id, livro_id, quantidade) | |
SELECT 1, 1, 1, 1 FROM dual UNION ALL | |
SELECT 2, 1, 3, 1 FROM dual UNION ALL | |
SELECT 3, 2, 5, 3 FROM dual UNION ALL | |
SELECT 4, 3, 3, 1 FROM dual UNION ALL | |
SELECT 5, 2, 4, 2 FROM dual UNION ALL | |
SELECT 6, 5, 1, 2 FROM dual UNION ALL | |
SELECT 7, 5, 2, 3 FROM dual UNION ALL | |
SELECT 8, 5, 5, 4 FROM dual UNION ALL | |
SELECT 9, 6, 1, 3 FROM dual UNION ALL | |
SELECT 10, 6, 2, 2 FROM dual UNION ALL | |
SELECT 11, 6, 6, 4 FROM dual UNION ALL | |
SELECT 12, 7, 8, 2 FROM dual UNION ALL | |
SELECT 13, 11, 9, 6 FROM dual UNION ALL | |
SELECT 14, 12, 1, 8 FROM dual UNION ALL | |
SELECT 16, 16, 1, 10 FROM dual UNION ALL | |
SELECT 17, 17, 1, 5 FROM dual UNION ALL | |
SELECT 18, 17, 4, 10 FROM dual UNION ALL | |
SELECT 19, 17, 6, 15 FROM dual UNION ALL | |
SELECT 20, 20, 4, 4 FROM dual UNION ALL | |
SELECT 21, 26, 2, 5 FROM dual UNION ALL | |
SELECT 22, 27, 2, 5 FROM dual UNION ALL | |
SELECT 23, 28, 4, 10 FROM dual UNION ALL | |
SELECT 24, 29, 2, 8 FROM dual UNION ALL | |
SELECT 25, 30, 3, 42 FROM dual UNION ALL | |
SELECT 28, 32, 2, 1 FROM dual UNION ALL | |
SELECT 29, 33, 7, 20 FROM dual UNION ALL | |
SELECT 30, 33, 3, 5 FROM dual UNION ALL | |
SELECT 31, 33, 1, 2 FROM dual UNION ALL | |
SELECT 32, 34, 6, 5 FROM dual UNION ALL | |
SELECT 33, 34, 8, 10 FROM dual UNION ALL | |
SELECT 34, 34, 5, 5 FROM dual UNION ALL | |
SELECT 35, 35, 1, 24 FROM dual UNION ALL | |
SELECT 36, 35, 3, 34 FROM dual UNION ALL | |
SELECT 37, 35, 6, 88 FROM dual UNION ALL | |
SELECT 38, 36, 1, 24 FROM dual UNION ALL | |
SELECT 39, 36, 3, 34 FROM dual UNION ALL | |
SELECT 40, 36, 6, 88 FROM dual; | |
/*!40000 ALTER TABLE item_pedido ENABLE KEYS */; | |
--ORA-02291: restrição de integridade (LIVRARIA.ITEM_PEDIDO_IBFK_1) violada - chave mãe não localizada | |
-- solução: criar a tabela de pedido antes | |
CREATE INDEX editora_id ON livro (editora_id); | |
/*!40000 ALTER TABLE livro ENABLE KEYS */; | |
CREATE INDEX funcionario_idx ON pedido (funcionario_id); | |
--ORA-00955: nome já está sendo usado por um objeto existente | |
-- Solução: renomear. Ja havia uma contraint com o nome funcionario_id | |
CREATE INDEX cliente_id ON pedido (cliente_id); | |
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; | |
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; | |
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment