Advertisement
Guest User

livraria 0.1 oracle corrigido

a guest
Apr 26th, 2019
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- --------------------------------------------------------
  2. -- Servidor:                     10.120.100.14
  3. -- Versão do servidor:           5.1.61 - Source distribution
  4. -- OS do Servidor:               redhat-linux-gnu
  5. -- HeidiSQL Versão:              10.1.0.5464
  6. -- --------------------------------------------------------
  7.  
  8.  
  9.  
  10.  
  11. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  12. /*!40101 SET NAMES utf8 */;
  13. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  14. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  15.  
  16.  
  17.  
  18. -- Copiando estrutura do banco de dados para livraria
  19. DROP USER livraria CASCADE;
  20. CREATE USER livraria IDENTIFIED BY livraria /*!40100 DEFAULT CHARACTER SET latin1 */;
  21.  
  22. /* Instruções de ajustes
  23. 1. Retirada de todo carcter "`" que antecede o nome de qualquer objeto
  24. 2. Conceder alguma cota para o usuario livraria: ilimitado ou um valor qq. Coloquei 100mb
  25. 3. Determinar a ordem de criação dos objetos. As tabela que menos dependem de outras precisam ser criadas antes.  
  26. 4. Objetos partilhando o mesmo nome, comummente constraints e índices.
  27. 5. Os erros --Ora- registrei em cada ajuste
  28.  */
  29. --GRANT UNLIMITED TABLESPACE TO livraria; /*ou */
  30. ALTER USER livraria QUOTA 100M ON users;
  31.  
  32.  
  33. -- ORA-01950: não há privilégios no tablespace USERS'
  34. /* Para resovler o erro acima incluir a instrução abaixo antes do Create Table*/
  35.  
  36.  
  37. ALTER SESSION SET CURRENT_SCHEMA = livraria;
  38. -- Copiando estrutura para tabela livraria.editora
  39. BEGIN
  40.    EXECUTE IMMEDIATE 'DROP TABLE editora';
  41. EXCEPTION
  42.    WHEN OTHERS THEN NULL;
  43. END;
  44. /
  45. CREATE TABLE editora (
  46.   id NUMBER(10) NOT NULL,
  47.   nome VARCHAR2(255) NOT NULL,
  48.   website VARCHAR2(255) NOT NULL,
  49.   cnpj VARCHAR2(14) NOT NULL,
  50.   endereco VARCHAR2(255) NOT NULL,
  51.   PRIMARY KEY (id)
  52. )  ;
  53.  
  54. -- Generate ID using sequence and trigger
  55. CREATE SEQUENCE editora_seq START WITH 5 INCREMENT BY 1;
  56.  
  57. CREATE OR REPLACE TRIGGER editora_seq_tr
  58.  BEFORE INSERT ON editora FOR EACH ROW
  59.  WHEN (NEW.id IS NULL)
  60. BEGIN
  61.  SELECT editora_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  62. END;
  63. /
  64.  
  65. -- Copiando dados para a tabela livraria.editora: ~4 rows (aproximadamente)
  66. DELETE FROM editora;
  67. /*!40000 ALTER TABLE editora DISABLE KEYS */;
  68. INSERT INTO editora (id, nome, website, cnpj, endereco)
  69.      SELECT 1, 'Editora Organizações Tabajara', 'http://www.tabajara-livros.com.br', '66968328000104', '545345345' FROM dual UNION ALL
  70.      SELECT 2, 'Editora Mosantos LTDA', 'http://www.editora-mosantos.com.br', '80880262000127', '23452345235' FROM dual UNION ALL
  71.      SELECT 3, 'Editora Top das Galaxias', 'http://www.w3.org/Addressing/URL/url-spec.txt', '36215975395', '34252345234' FROM dual UNION ALL
  72.      SELECT 4, 'EDITORA VILA 8', 'www.vila8.org', '1654984546549', '123412341234' FROM dual;
  73. /*!40000 ALTER TABLE editora ENABLE KEYS */;
  74.  
  75. -- ORA-01400: não é possível inserir NULL em ("LIVRARIA"."EDITORA"."ENDERECO")
  76. -- Faltou o campo endereço para os ultimos 4 registros
  77.  
  78.  
  79.  
  80.  
  81. -- Copiando estrutura para tabela livraria.pedido
  82. BEGIN
  83.    EXECUTE IMMEDIATE 'DROP TABLE pedido';
  84. EXCEPTION
  85.    WHEN OTHERS THEN NULL;
  86. END;
  87. /
  88.  
  89.  
  90. -- Copiando estrutura para tabela livraria.autor
  91. BEGIN
  92.    EXECUTE IMMEDIATE 'DROP TABLE autor';
  93. EXCEPTION
  94.    WHEN OTHERS THEN NULL;
  95. END;
  96. /
  97.  
  98.  
  99. CREATE TABLE autor (
  100.   id NUMBER(10) NOT NULL,
  101.   nome VARCHAR2(255) NOT NULL,
  102.   PRIMARY KEY (id)
  103. )  ;
  104.  
  105. -- Generate ID using sequence and trigger
  106. CREATE SEQUENCE autor_seq START WITH 17 INCREMENT BY 1;
  107.  
  108. CREATE OR REPLACE TRIGGER autor_seq_tr
  109.  BEFORE INSERT ON autor FOR EACH ROW
  110.  WHEN (NEW.id IS NULL)
  111. BEGIN
  112.  SELECT autor_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  113. END;
  114. /
  115.  
  116. -- Copiando dados para a tabela livraria.autor: ~16 rows (aproximadamente)
  117. DELETE FROM autor;
  118. /*!40000 ALTER TABLE autor DISABLE KEYS */;
  119. INSERT INTO autor (id, nome)
  120.      SELECT 1, 'Mosantos de Vilar dos Telles' FROM dual UNION ALL
  121.      SELECT 2, 'Jonas Guanabara' FROM dual UNION ALL
  122.      SELECT 3, 'Joselito de Cascatinha' FROM dual UNION ALL
  123.      SELECT 4, 'Luis Boça' FROM dual UNION ALL
  124.      SELECT 5, 'Charlinho Menino Guerreiro' FROM dual UNION ALL
  125.      SELECT 6, 'Dona Maxima' FROM dual UNION ALL
  126.      SELECT 7, 'Doutor Lincon' FROM dual UNION ALL
  127.      SELECT 8, 'Linhares' FROM dual UNION ALL
  128.      SELECT 9, 'Jonny Boganville' FROM dual UNION ALL
  129.      SELECT 10, ' Jimmy Leroy' FROM dual UNION ALL
  130.      SELECT 11, 'Professor Gilmar' FROM dual UNION ALL
  131.      SELECT 12, 'Padre Quemedo' FROM dual UNION ALL
  132.      SELECT 13, 'Lagreca' FROM dual UNION ALL
  133.      SELECT 14, 'Dedé Carvoeiro' FROM dual UNION ALL
  134.      SELECT 15, 'Carlos Carne' FROM dual UNION ALL
  135.      SELECT 16, 'Seu Madruga' FROM dual;
  136. /*!40000 ALTER TABLE autor ENABLE KEYS */;
  137.  
  138.  
  139.  
  140. -- Copiando estrutura para tabela livraria.livro
  141. BEGIN
  142.    EXECUTE IMMEDIATE 'DROP TABLE livro';
  143. EXCEPTION
  144.    WHEN OTHERS THEN NULL;
  145. END;
  146. /
  147. CREATE TABLE livro (
  148.   id NUMBER(10) NOT NULL,
  149.   titulo VARCHAR2(255) NOT NULL,
  150.   preco NUMBER(18,2) NOT NULL,
  151.   isbn VARCHAR2(13) NOT NULL,
  152.   edicao NUMBER(10) NOT NULL,
  153.   ano_publicacao CHAR(4) NOT NULL,
  154.   editora_id NUMBER(10) NOT NULL,
  155.   PRIMARY KEY (id),
  156.   CONSTRAINT isbn UNIQUE  (isbn)
  157.  ,
  158.   CONSTRAINT livro_ibfk_1 FOREIGN KEY (editora_id) REFERENCES editora (id)
  159. )  ;
  160.  
  161. -- Generate ID using sequence and trigger
  162. CREATE SEQUENCE livro_seq START WITH 10 INCREMENT BY 1;
  163.  
  164. CREATE OR REPLACE TRIGGER livro_seq_tr
  165.  BEFORE INSERT ON livro FOR EACH ROW
  166.  WHEN (NEW.id IS NULL)
  167. BEGIN
  168.  SELECT livro_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  169. END;
  170. /
  171.  
  172.  
  173. -- Copiando dados para a tabela livraria.livro: ~9 rows (aproximadamente)
  174. DELETE FROM livro;
  175. /*!40000 ALTER TABLE livro DISABLE KEYS */;
  176. INSERT INTO livro (id, titulo, preco, isbn, edicao, ano_publicacao, editora_id)
  177.      SELECT 1, 'Sucesso na Vida', 39.99, '123456789112', 15, '2012', 1 FROM dual UNION ALL
  178.      SELECT 2, 'Brincadeira em Excesso Virou Bobeira', 44.01, '9876543211112', 2, '2015', 2 FROM dual UNION ALL
  179.      SELECT 3, 'Fazendo Bolos com CakePHP', 89.95, '3216547894561', 3, '2017', 1 FROM dual UNION ALL
  180.      SELECT 4, 'Vamos Investigar?', 63.22, '7849516236295', 2, '2014', 2 FROM dual UNION ALL
  181.      SELECT 5, 'Portabilidade Manual: Um Tutorial Prático', 100.99, '4568521597534', 2, '1997', 2 FROM dual UNION ALL
  182.      SELECT 6, 'Brazil Mulambo', 9.99, '1236547562111', 1, '2014', 1 FROM dual UNION ALL
  183.      SELECT 7, 'Tudo pelo estudo', 1.99, '12345678965', 1, '2002', 3 FROM dual UNION ALL
  184.      SELECT 8, 'Quem Cedo Madruga Deus Ajuda', 55.99, '9157357561', 5, '1997', 1 FROM dual UNION ALL
  185.      SELECT 9, 'Madrugando', 18.89, '5485315675165', 10, '1991', 4 FROM dual;
  186.  
  187.  
  188.  
  189. -- Copiando estrutura para tabela livraria.autor_livro
  190. BEGIN
  191.    EXECUTE IMMEDIATE 'DROP TABLE autor_livro';
  192. EXCEPTION
  193.    WHEN OTHERS THEN NULL;
  194. END;
  195. /
  196. CREATE TABLE autor_livro (
  197.   id NUMBER(10) NOT NULL,
  198.   autor_id NUMBER(10) NOT NULL,
  199.   livro_id NUMBER(10) NOT NULL,
  200.   PRIMARY KEY (id),
  201.   CONSTRAINT autor_id UNIQUE  (autor_id,livro_id)
  202.  ,
  203.   CONSTRAINT autor_livro_ibfk_1 FOREIGN KEY (autor_id) REFERENCES autor (id),
  204.   CONSTRAINT autor_livro_ibfk_2 FOREIGN KEY (livro_id) REFERENCES livro (id)
  205. )  ;
  206.  
  207. -- Generate ID using sequence and trigger
  208. CREATE SEQUENCE autor_livro_seq START WITH 24 INCREMENT BY 1;
  209.  
  210. CREATE OR REPLACE TRIGGER autor_livro_seq_tr
  211.  BEFORE INSERT ON autor_livro FOR EACH ROW
  212.  WHEN (NEW.id IS NULL)
  213. BEGIN
  214.  SELECT autor_livro_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  215. END;
  216. /
  217.  
  218. CREATE INDEX autor_id_2 ON autor_livro (autor_id);
  219. CREATE INDEX livro_id ON autor_livro (livro_id);
  220.  
  221. -- Copiando dados para a tabela livraria.autor_livro: ~17 rows (aproximadamente)
  222. DELETE FROM autor_livro;
  223. /*!40000 ALTER TABLE autor_livro DISABLE KEYS */;
  224.  
  225. --ORA-02291: restrição de integridade (LIVRARIA.AUTOR_LIVRO_IBFK_2) violada - chave mãe não localizada
  226.  
  227.  
  228. INSERT INTO autor_livro (id, autor_id, livro_id)
  229.      SELECT 1, 1, 2 FROM dual UNION ALL
  230.      SELECT 8, 1, 4 FROM dual UNION ALL
  231.      SELECT 9, 1, 5 FROM dual UNION ALL
  232.      SELECT 10, 1, 6 FROM dual UNION ALL
  233.      SELECT 2, 2, 1 FROM dual UNION ALL
  234.      SELECT 3, 3, 1 FROM dual UNION ALL
  235.      SELECT 16, 3, 3 FROM dual UNION ALL
  236.      SELECT 11, 3, 6 FROM dual UNION ALL
  237.      SELECT 17, 4, 3 FROM dual UNION ALL
  238.      SELECT 18, 5, 3 FROM dual UNION ALL
  239.      SELECT 12, 5, 6 FROM dual UNION ALL
  240.      SELECT 13, 5, 7 FROM dual UNION ALL
  241.      SELECT 20, 11, 8 FROM dual UNION ALL
  242.      SELECT 21, 12, 8 FROM dual UNION ALL
  243.      SELECT 22, 14, 8 FROM dual UNION ALL
  244.      SELECT 23, 16, 8 FROM dual UNION ALL
  245.      SELECT 15, 16, 9 FROM dual;
  246. /*!40000 ALTER TABLE autor_livro ENABLE KEYS */;
  247.  
  248. -- Copiando estrutura para tabela livraria.cliente
  249. BEGIN
  250.    EXECUTE IMMEDIATE 'DROP TABLE cliente';
  251. EXCEPTION
  252.    WHEN OTHERS THEN NULL;
  253. END;
  254. /
  255. CREATE TABLE cliente (
  256.   id NUMBER(10) NOT NULL,
  257.   nome VARCHAR2(255) NOT NULL,
  258.   cpf VARCHAR2(11) NOT NULL,
  259.   telefone VARCHAR2(20) NOT NULL,
  260.   PRIMARY KEY (id)
  261. )  ;
  262.  
  263. -- Generate ID using sequence and trigger
  264. CREATE SEQUENCE cliente_seq START WITH 5 INCREMENT BY 1;
  265.  
  266. CREATE OR REPLACE TRIGGER cliente_seq_tr
  267.  BEFORE INSERT ON cliente FOR EACH ROW
  268.  WHEN (NEW.id IS NULL)
  269. BEGIN
  270.  SELECT cliente_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  271. END;
  272. /
  273.  
  274. -- Copiando dados para a tabela livraria.cliente: ~4 rows (aproximadamente)
  275. DELETE FROM cliente;
  276. /*!40000 ALTER TABLE cliente DISABLE KEYS */;
  277. INSERT INTO cliente (id, nome, cpf, telefone)
  278.      SELECT 1, 'Steven Beagle', '33554488662', '219999999' FROM dual UNION ALL
  279.      SELECT 2, 'Dudu Marchiori', '78945873215', '2155555555' FROM dual UNION ALL
  280.      SELECT 3, 'Adilson Polloskki', '32145675395', '1166666666' FROM dual UNION ALL
  281.      SELECT 4, 'Kiko', '12345678999', '2154355646' FROM dual;
  282. /*!40000 ALTER TABLE cliente ENABLE KEYS */;
  283.  
  284. -- Copiando estrutura para tabela livraria.funcionario
  285. BEGIN
  286.    EXECUTE IMMEDIATE 'DROP TABLE funcionario';
  287. EXCEPTION
  288.    WHEN OTHERS THEN NULL;
  289. END;
  290. /
  291. CREATE TABLE funcionario (
  292.   id NUMBER(10) NOT NULL,
  293.   nome VARCHAR2(255) NOT NULL,
  294.   cpf VARCHAR2(11) NOT NULL,
  295.   gerente_id NUMBER(10) DEFAULT NULL,
  296.   PRIMARY KEY (id)
  297.  ,
  298.   CONSTRAINT funcionario_ibfk_1 FOREIGN KEY (gerente_id) REFERENCES funcionario (id)
  299. )  ;
  300.  
  301. -- Generate ID using sequence and trigger
  302. CREATE SEQUENCE funcionario_seq START WITH 17 INCREMENT BY 1;
  303.  
  304. CREATE OR REPLACE TRIGGER funcionario_seq_tr
  305.  BEFORE INSERT ON funcionario FOR EACH ROW
  306.  WHEN (NEW.id IS NULL)
  307. BEGIN
  308.  SELECT funcionario_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  309. END;
  310. /
  311.  
  312. CREATE INDEX gerente_id ON funcionario (gerente_id);
  313.  
  314. -- Copiando dados para a tabela livraria.funcionario: ~9 rows (aproximadamente)
  315. DELETE FROM funcionario;
  316. /*!40000 ALTER TABLE funcionario DISABLE KEYS */;
  317. INSERT INTO funcionario (id, nome, cpf, gerente_id)
  318.      SELECT 7, 'Lurdes Boça', '74832651489', NULL FROM dual UNION ALL
  319.      SELECT 8, 'Wallace Guilhermino', '65478932145', 7 FROM dual UNION ALL
  320.      SELECT 9, 'Edson Wander', '54698715324', 8 FROM dual UNION ALL
  321.      SELECT 10, 'Cláudio Ricardo', '45667789442', 7 FROM dual UNION ALL
  322.      SELECT 11, 'Neo Labaque', '54789634128', 7 FROM dual UNION ALL
  323.      SELECT 13, 'Renato Noiadão', '56842365142', 10 FROM dual UNION ALL
  324.      SELECT 14, 'José Canjica Martins', '24862486248', 7 FROM dual UNION ALL
  325.      SELECT 15, 'Carlos Calhorda', '24321589654', 8 FROM dual UNION ALL
  326.      SELECT 16, 'Chaves', '57352187256', NULL FROM dual;
  327. /*!40000 ALTER TABLE funcionario ENABLE KEYS */;
  328.  
  329.  
  330.  
  331. CREATE TABLE pedido (
  332.   id NUMBER(10) NOT NULL,
  333.   data TIMESTAMP(0) NOT NULL,
  334.   cliente_id NUMBER(10) NOT NULL,
  335.   funcionario_id NUMBER(10) NOT NULL,
  336.   PRIMARY KEY (id)
  337.  ,
  338.   CONSTRAINT pedido_ibfk_1 FOREIGN KEY (funcionario_id) REFERENCES funcionario (id),
  339.   CONSTRAINT pedido_ibfk_2 FOREIGN KEY (cliente_id) REFERENCES cliente (id)
  340. )  ;
  341.  
  342. -- Generate ID using sequence and trigger
  343. CREATE SEQUENCE pedido_seq START WITH 37 INCREMENT BY 1;
  344.  
  345. CREATE OR REPLACE TRIGGER pedido_seq_tr
  346.  BEFORE INSERT ON pedido FOR EACH ROW
  347.  WHEN (NEW.id IS NULL)
  348. BEGIN
  349.  SELECT pedido_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  350. END;
  351. /
  352.  
  353.  
  354.  
  355.  
  356. -- Copiando estrutura para tabela livraria.habilitacao
  357. BEGIN
  358.    EXECUTE IMMEDIATE 'DROP TABLE habilitacao';
  359. EXCEPTION
  360.    WHEN OTHERS THEN NULL;
  361. END;
  362. /
  363. CREATE TABLE habilitacao (
  364.   id NUMBER(10) NOT NULL,
  365.   numero VARCHAR2(11) NOT NULL,
  366.   categoria CHAR(2) NOT NULL,
  367.   funcionario_id NUMBER(10) NOT NULL,
  368.   PRIMARY KEY (id),
  369.   CONSTRAINT funcionario_id UNIQUE  (funcionario_id),
  370.   CONSTRAINT habilitacao_ibfk_1 FOREIGN KEY (funcionario_id) REFERENCES funcionario (id)
  371. )  ;
  372.  
  373. -- Generate ID using sequence and trigger
  374. CREATE SEQUENCE habilitacao_seq START WITH 9 INCREMENT BY 1;
  375.  
  376. CREATE OR REPLACE TRIGGER habilitacao_seq_tr
  377.  BEFORE INSERT ON habilitacao FOR EACH ROW
  378.  WHEN (NEW.id IS NULL)
  379. BEGIN
  380.  SELECT habilitacao_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  381. END;
  382. /
  383.  
  384. -- Copiando dados para a tabela livraria.habilitacao: ~7 rows (aproximadamente)
  385. DELETE FROM habilitacao;
  386. /*!40000 ALTER TABLE habilitacao DISABLE KEYS */;
  387. INSERT INTO habilitacao (id, numero, categoria, funcionario_id)
  388.      SELECT 1, '78495162354', 'B', 7 FROM dual UNION ALL
  389.      SELECT 2, '99885523654', 'AD', 10 FROM dual UNION ALL
  390.      SELECT 3, '45687512598', 'C', 13 FROM dual UNION ALL
  391.      SELECT 5, '12396348525', 'A', 11 FROM dual UNION ALL
  392.      SELECT 6, '21575698423', 'AB', 14 FROM dual UNION ALL
  393.      SELECT 7, '14785236548', 'C', 15 FROM dual UNION ALL
  394.      SELECT 8, '23484562848', 'AB', 16 FROM dual;
  395. /*!40000 ALTER TABLE habilitacao ENABLE KEYS */;
  396.  
  397. -- Copiando estrutura para tabela livraria.item_pedido
  398. BEGIN
  399.    EXECUTE IMMEDIATE 'DROP TABLE item_pedido';
  400. EXCEPTION
  401.    WHEN OTHERS THEN NULL;
  402. END;
  403. /
  404. CREATE TABLE item_pedido (
  405.   id NUMBER(10) NOT NULL,
  406.   pedido_id NUMBER(10) NOT NULL,
  407.   livro_id NUMBER(10) NOT NULL,
  408.   quantidade NUMBER(10) NOT NULL,
  409.   PRIMARY KEY (id),
  410.   CONSTRAINT pedido_id UNIQUE  (pedido_id,livro_id)
  411.  ,
  412.   CONSTRAINT item_pedido_ibfk_1 FOREIGN KEY (pedido_id) REFERENCES pedido (id),
  413.   CONSTRAINT item_pedido_ibfk_2 FOREIGN KEY (livro_id) REFERENCES livro (id)
  414. )  ;
  415.  
  416. -- Generate ID using sequence and trigger
  417. CREATE SEQUENCE item_pedido_seq START WITH 41 INCREMENT BY 1;
  418.  
  419. CREATE OR REPLACE TRIGGER item_pedido_seq_tr
  420.  BEFORE INSERT ON item_pedido FOR EACH ROW
  421.  WHEN (NEW.id IS NULL)
  422. BEGIN
  423.  SELECT item_pedido_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  424. END;
  425. /
  426.  
  427.  
  428. ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
  429. SELECT SYSDATE  FROM  dual;
  430.  
  431. -- Copiando dados para a tabela livraria.pedido: ~21 rows (aproximadamente)
  432. DELETE FROM pedido;
  433. /*!40000 ALTER TABLE pedido DISABLE KEYS */;
  434.  
  435. INSERT INTO pedido (id, data, cliente_id, funcionario_id)
  436.      SELECT 1,  TO_DATE ('2016-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 1, 10 FROM dual UNION ALL
  437.      SELECT 2,  TO_DATE ('2014-12-11 13:00:00','yyyy-mm-dd hh24:mi:ss'), 2, 9  FROM dual UNION ALL
  438.      SELECT 3,  TO_DATE ('2017-03-30 06:30:37','yyyy-mm-dd hh24:mi:ss'), 1, 7  FROM dual UNION ALL
  439.      SELECT 5,  TO_DATE ('2017-03-26 04:34:00','yyyy-mm-dd hh24:mi:ss'), 1, 7  FROM dual UNION ALL
  440.      SELECT 6,  TO_DATE ('2038-03-27 16:47:00','yyyy-mm-dd hh24:mi:ss'), 1, 7  FROM dual UNION ALL
  441.      SELECT 7,  TO_DATE ('2017-05-22 12:55:00','yyyy-mm-dd hh24:mi:ss'), 1, 16 FROM dual UNION ALL
  442.      SELECT 11, TO_DATE ('2017-05-25 15:07:00','yyyy-mm-dd hh24:mi:ss'), 4, 16 FROM dual UNION ALL
  443.      SELECT 12, TO_DATE ('2017-05-26 14:09:00','yyyy-mm-dd hh24:mi:ss'), 4, 11 FROM dual UNION ALL
  444.      SELECT 16, TO_DATE ('2017-05-26 14:26:00','yyyy-mm-dd hh24:mi:ss'), 1, 7  FROM dual UNION ALL
  445.      SELECT 17, TO_DATE ('2017-05-26 14:28:00','yyyy-mm-dd hh24:mi:ss'), 2, 10 FROM dual UNION ALL
  446.      SELECT 20, TO_DATE ('2017-05-26 15:14:00','yyyy-mm-dd hh24:mi:ss'), 1, 10 FROM dual UNION ALL
  447.      SELECT 26, TO_DATE ('2017-05-29 13:04:00','yyyy-mm-dd hh24:mi:ss'), 4, 14 FROM dual UNION ALL
  448.      SELECT 27, TO_DATE ('2017-05-29 13:04:00','yyyy-mm-dd hh24:mi:ss'), 4, 14 FROM dual UNION ALL
  449.      SELECT 28, TO_DATE ('2017-05-29 13:05:00','yyyy-mm-dd hh24:mi:ss'), 3, 10 FROM dual UNION ALL
  450.      SELECT 29, TO_DATE ('2017-05-30 14:49:00','yyyy-mm-dd hh24:mi:ss'), 3, 9  FROM dual UNION ALL
  451.      SELECT 30, TO_DATE ('2017-05-31 12:44:00','yyyy-mm-dd hh24:mi:ss'), 2, 14 FROM dual UNION ALL
  452.      SELECT 32, TO_DATE ('2017-05-31 12:49:00','yyyy-mm-dd hh24:mi:ss'), 3, 13 FROM dual UNION ALL
  453.      SELECT 33, TO_DATE ('2017-05-31 12:53:00','yyyy-mm-dd hh24:mi:ss'), 4, 8  FROM dual UNION ALL
  454.      SELECT 34, TO_DATE ('2017-05-31 12:53:00','yyyy-mm-dd hh24:mi:ss'), 3, 15 FROM dual UNION ALL
  455.      SELECT 35, TO_DATE ('2017-06-19 19:00:00','yyyy-mm-dd hh24:mi:ss'), 1, 7  FROM dual UNION ALL
  456.      SELECT 36, TO_DATE ('2017-04-19 04:07:00','yyyy-mm-dd hh24:mi:ss'), 1, 7  FROM dual;
  457.      
  458. /*!40000 ALTER TABLE pedido ENABLE KEYS */;
  459.  
  460. -- ORA-01843: não é um mês válido
  461. -- solução: ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-RRRR'
  462. -- Formatar a data no insert
  463.  
  464.  
  465. CREATE INDEX livro_idx ON item_pedido (livro_id);
  466. --ORA-00955: nome já está sendo usado por um objeto existente
  467. -- Como estava Antes: CREATE INDEX livro_id ON item_pedido (livro_id);
  468.  
  469.  
  470. -- Copiando dados para a tabela livraria.item_pedido: ~37 rows (aproximadamente)
  471. DELETE FROM item_pedido;
  472. /*!40000 ALTER TABLE item_pedido DISABLE KEYS */;
  473. INSERT INTO item_pedido (id, pedido_id, livro_id, quantidade)
  474.      SELECT 1, 1, 1, 1 FROM dual UNION ALL
  475.      SELECT 2, 1, 3, 1 FROM dual UNION ALL
  476.      SELECT 3, 2, 5, 3 FROM dual UNION ALL
  477.      SELECT 4, 3, 3, 1 FROM dual UNION ALL
  478.      SELECT 5, 2, 4, 2 FROM dual UNION ALL
  479.      SELECT 6, 5, 1, 2 FROM dual UNION ALL
  480.      SELECT 7, 5, 2, 3 FROM dual UNION ALL
  481.      SELECT 8, 5, 5, 4 FROM dual UNION ALL
  482.      SELECT 9, 6, 1, 3 FROM dual UNION ALL
  483.      SELECT 10, 6, 2, 2 FROM dual UNION ALL
  484.      SELECT 11, 6, 6, 4 FROM dual UNION ALL
  485.      SELECT 12, 7, 8, 2 FROM dual UNION ALL
  486.      SELECT 13, 11, 9, 6 FROM dual UNION ALL
  487.      SELECT 14, 12, 1, 8 FROM dual UNION ALL
  488.      SELECT 16, 16, 1, 10 FROM dual UNION ALL
  489.      SELECT 17, 17, 1, 5 FROM dual UNION ALL
  490.      SELECT 18, 17, 4, 10 FROM dual UNION ALL
  491.      SELECT 19, 17, 6, 15 FROM dual UNION ALL
  492.      SELECT 20, 20, 4, 4 FROM dual UNION ALL
  493.      SELECT 21, 26, 2, 5 FROM dual UNION ALL
  494.      SELECT 22, 27, 2, 5 FROM dual UNION ALL
  495.      SELECT 23, 28, 4, 10 FROM dual UNION ALL
  496.      SELECT 24, 29, 2, 8 FROM dual UNION ALL
  497.      SELECT 25, 30, 3, 42 FROM dual UNION ALL
  498.      SELECT 28, 32, 2, 1 FROM dual UNION ALL
  499.      SELECT 29, 33, 7, 20 FROM dual UNION ALL
  500.      SELECT 30, 33, 3, 5 FROM dual UNION ALL
  501.      SELECT 31, 33, 1, 2 FROM dual UNION ALL
  502.      SELECT 32, 34, 6, 5 FROM dual UNION ALL
  503.      SELECT 33, 34, 8, 10 FROM dual UNION ALL
  504.      SELECT 34, 34, 5, 5 FROM dual UNION ALL
  505.      SELECT 35, 35, 1, 24 FROM dual UNION ALL
  506.      SELECT 36, 35, 3, 34 FROM dual UNION ALL
  507.      SELECT 37, 35, 6, 88 FROM dual UNION ALL
  508.      SELECT 38, 36, 1, 24 FROM dual UNION ALL
  509.      SELECT 39, 36, 3, 34 FROM dual UNION ALL
  510.      SELECT 40, 36, 6, 88 FROM dual;
  511. /*!40000 ALTER TABLE item_pedido ENABLE KEYS */;
  512.  
  513. --ORA-02291: restrição de integridade (LIVRARIA.ITEM_PEDIDO_IBFK_1) violada - chave mãe não localizada
  514. -- solução: criar a tabela de pedido antes
  515.  
  516.  
  517. CREATE INDEX editora_id ON livro (editora_id);
  518.  
  519. /*!40000 ALTER TABLE livro ENABLE KEYS */;
  520.  
  521.  
  522. CREATE INDEX funcionario_idx ON pedido (funcionario_id);
  523. --ORA-00955: nome já está sendo usado por um objeto existente
  524. -- Solução: renomear. Ja havia uma contraint com o nome funcionario_id
  525.  
  526. CREATE INDEX cliente_id ON pedido (cliente_id);
  527.  
  528.  
  529. /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
  530. /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
  531. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement