prosze o pomoc z tworzeniem tablic/sql developer

prosze o pomoc z tworzeniem tablic/sql developer
0

witam wszystkich.
mam problem z tworzeniem tablic w moim kodzie w sql developer, ciagle wychodza jakies bledy choc mysle ze kod jest ok.
prosze o pomoc .
Dzieki

CONSTRAINTS LAB WORK
ERD w zalaczniku

drop table salesperson;
drop table invoice;
drop table customer;
drop table car;

CREATE table salesperson
(
salesperson_Id NUMBER(5) NOT NULL,
name VARCHAR(30) NOT NULL,
PRIMARY KEY (salesperson_Id)
);

CREATE table invoice
(
invoice_Id NUMBER(5) NOT NULL,
date_sal DATE,
sale_amt NUMBER(10) NOT NULL CHECK(sale_amt<0),
salesperson_Id Number(5)NOT NULL,
cust_Id NUMBER(5) NOT NULL,
PRIMARY KEY (invoice_Id),
FOREIGN KEY (salesperson_Id) REFERENCES salesperson (salesperson_Id),
FOREIGN KEY (cust_Id) REFERENCES customer (cust_Id)
);

CREATE table customer
(
cust_Id NUMBER(5) NOT NULL,
name VARCHAR(30),
address VARCHAR(250),
ph_no Number(10)NOT NULL,
PRIMARY KEY (cust_Id)
);

CREATE table car
(
reg_num NUMBER(8) NOT NULL,
c_make VARCHAR(12) CHECK(c_make IN ('BMWMercedeshyundaitoyotaVolkswagen')),
c_model VARCHAR(20),
cust_Id NUMBER(5) NOT NULL,
salesperson_Id NUMBER()5NOT NULL,
PRIMARY KEY (reg_num),
FOREIGN KEY (salesperson_Id) REFERENCES salesperson (salesperson_Id),
FOREIGN KEY (cust_Id) REFERENCES customer (cust_Id)
);

INSERT INTO salesperson Values(00001,'Dominic Torette');
INSERT INTO salesperson Values(00002,'Constantin Ogrodnicov');
INSERT INTO salesperson Values(00003,'Donnald Ciupacabra');

INSERT INTO invoice Values(00010,'15-May-2015',0123456789,00001,00001);
INSERT INTO invoice Values(00011,'16-May-2015',0123456789,00002,00002);
INSERT INTO invoice Values(00012,'17-May-2015',0123456789,00003,00003);

INSERT INTO customer Values(00001,'Richard Barret','14 Riverchapel Green ,Gorey Co.Wexford',0894270266);
INSERT INTO customer Values(00002,'Rebecca Sutherland','17 Grove park ,Rathmines.Dublin 6,Dublin',0831122533f);
INSERT INTO customer Values(00003,'Stefano Foncaldo','7 Woodview ,Mount merrion avenue ,blackrock,Dublin',0812345678);

INSERT INTO car Values ('05d73713','BMW','320d',00001,00001);
INSERT INTO car Values ('05d23764','Toyota','Avencis',00002,00002);
INSERT INTO car Values ('10d72098','Mercedes','ML270',00003,00003);

kate87
Zrób to samo w oracle modelerze wygeneruj i przerzuć kod do developera. No chyba że podasz jakie to błędy.
szweszwe
  • Rejestracja:ponad 11 lat
  • Ostatnio:6 dni
  • Lokalizacja:Kraków
  • Postów:1694
2

Jeśli chodzi o tworzenie tabel to jedyny błąd jest w tabeli car w tym miejscu:

Kopiuj
salesperson_Id NUMBER()5NOT NULL,
J2
Jachtoma20
poprawione.dziekuje
0

poprawilem reng_num z NUMBER NOT NULL NA VARCHAR,

abrakadaber
abrakadaber
  • Rejestracja:prawie 13 lat
  • Ostatnio:9 miesięcy
  • Postów:6610
2

umiesz czytać? masz na tyle IQ żeby przeczytany tekst zrozumieć? Przecież tam są dwa banalne błędy - zamiana kolejności tworzenia tabel i 5 nie w tym miejscu

Kopiuj
 drop table invoice;
 drop table car;
 drop table customer;
drop table salesperson;

 CREATE table salesperson
 (
 salesperson_Id NUMBER(5) NOT NULL,
 name VARCHAR(30) NOT NULL,
 PRIMARY KEY (salesperson_Id)
 );


 CREATE table customer
  (
 cust_Id  NUMBER(5) NOT NULL,
 name VARCHAR(30),
 address VARCHAR(250),
 ph_no  Number(10)NOT NULL,
 PRIMARY KEY (cust_Id)
 );


 CREATE table invoice
  (
 invoice_Id NUMBER(5) NOT NULL,
 date_sal DATE,
 sale_amt NUMBER(10) NOT NULL CHECK(sale_amt<0),
 salesperson_Id Number(5)NOT NULL,
 cust_Id  NUMBER(5) NOT NULL,
 PRIMARY KEY (invoice_Id),
 FOREIGN KEY (salesperson_Id) REFERENCES  salesperson (salesperson_Id),
 FOREIGN KEY (cust_Id) REFERENCES  customer  (cust_Id)
 );
  


 CREATE table car
  (
 reg_num  NUMBER(8) NOT NULL,
 c_make  VARCHAR(12) CHECK(c_make IN ('BMWMercedeshyundaitoyotaVolkswagen')),
 c_model VARCHAR(20),
 cust_Id  NUMBER(5) NOT NULL,
 salesperson_Id NUMBER(5) NOT NULL,
 PRIMARY KEY (reg_num),
 FOREIGN KEY (salesperson_Id) REFERENCES  salesperson (salesperson_Id),
 FOREIGN KEY (cust_Id) REFERENCES  customer  (cust_Id)
 );

Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
woolfik
@Jachtoma20 Jeśli w tabeli invoice masz klucz obcy do tabeli customer to logiczne jest, że najpierw musisz utworzyć tabele customer bo inaczej przy tworzeniu invoice dostaniesz wyjątek, że nie ma takiego obiektu jak customer ... itd.
J2
J2
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 5 lat
  • Postów:2
0

kiedy zapisuje tabele w sql developer dostaje kilka errorow.
Czy ktos moglby mi powiedziec czy dobrze polaczylem PK oraz FK?
dziekuje

abrakadaber
abrakadaber
  • Rejestracja:prawie 13 lat
  • Ostatnio:9 miesięcy
  • Postów:6610
2

dzieki.czy mozesz mi wytlumaczyc na czym polega kolejnosc tworzenia tabel?

na tym, że jak tabela A odwołuje się do tabeli B (poprzez FK) to tabela B MUSI istnieć przed stworzeniem referencji do niej


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
Sarrus
Coyote nie ma mechanizmu automatycznego wykrywania "dziękuję". Trzeba kliknąć "łapkę", żeby docenić pomoc autora postu :P

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.