Prezados,
Para tentar ficar mais próximo do ambiente de trabalho, estou tentando executar os exercícios na ferramenta que uso no trabalho (Dbeaver - Oracle).
Criei todas as tabelas, mas na hora de executar o script para carregar os valores maiores ou iguais a 400 para a TABELA_PEDIDOS_GOLD, acaba acontecendo o seguinte erro: Erro SQL [2291] [23000]: ORA-02291: restrição de integridade (ALURA.SYSC008228) violada - chave mãe não localizada
DLL - TABELA_PEDIDOS_GOLD
-- ALURA.TABELA_PEDIDOS_GOLD definição
CREATE TABLE "ALURA"."TABELA_PEDIDOS_GOLD"
( "ID_GOLD" NUMBER(*,0),
"DATA_PEDIDO_GOLD" VARCHAR2(50),
"STATUS_GOLD" VARCHAR2(50),
"TOTAL_PEDIDO_GOLD" FLOAT(126),
"CLIENTE_GOLD" NUMBER(*,0),
"DATA_ENVIO_ESTIMADA_GOLD" VARCHAR2(50),
PRIMARY KEY ("ID_GOLD")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
CREATE UNIQUE INDEX "ALURA"."SYS_C008227" ON "ALURA"."TABELA_PEDIDOS_GOLD" ("ID_GOLD")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
-- ALURA.TABELA_PEDIDOS_GOLD chaves estrangeiras
ALTER TABLE "ALURA"."TABELA_PEDIDOS_GOLD" ADD FOREIGN KEY ("CLIENTE_GOLD")
REFERENCES "ALURA"."TABELA_CLIENTES" ("ID_CLIENTE") ENABLE;
DLL - TABELA_CLIENTES
-- ALURA.TABELA_CLIENTES definição
CREATE TABLE "ALURA"."TABELA_CLIENTES"
( "ID_CLIENTE" NUMBER(*,0),
"NOME_CLIENTE" VARCHAR2(250),
"INFORMACOES_CONTATO" VARCHAR2(250),
"ENDERECO_CLIENTE" VARCHAR2(250),
PRIMARY KEY ("ID_CLIENTE")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
CREATE UNIQUE INDEX "ALURA"."SYS_C008220" ON "ALURA"."TABELA_CLIENTES" ("ID_CLIENTE")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;
**Script que tentei executar 01: **
INSERT INTO TABELA_PEDIDOS_GOLD (
ID_GOLD,
DATA_PEDIDO_GOLD,
STATUS_GOLD,
TOTAL_PEDIDO_GOLD,
CLIENTE_GOLD,
DATA_ENVIO_ESTIMADA_GOLD
)
SELECT
ID,
DATA_PEDIDO,
STATUS,
TOTAL_PEDIDO,
CLIENTE,
DATA_ENVIO_ESTIMADA
FROM TABELA_PEDIDOS
WHERE TOTAL_PEDIDO >= 400;
O que pode está acontecendo de errado?