|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2011
Messaggi: 132
|
errore in sqlplus
ciao a tutti sto smanettando un po con sql e mi è uscito fuori questo errore:
ORA-0001 violata restrizione di unicità cosa significa? su google non ho trovato una spiegazione. per facilitarvi il compito posto il codice: create table CAMERA ( N_CAMERA NUMBER(6) not null PRIMARY KEY, TIPO VARCHAR2(20), DATA DATE ); insert into CAMERA (N_CAMERA,TIPO,DATA) values (1,'Singola', to_date('06-06-2012','dd-mm-yyyy')); c'è qualcosa che non va nel codice?
Ultima modifica di Selyn : 04-06-2012 alle 16:18. |
|
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21919
|
non è che nella db è già presente una tabella con quel nome o nella tabella è già presente un record con la stessa chiave?
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Oct 2002
Messaggi: 29264
|
Se usi il numero camera come primary key non puoi inserire più record sulla stessa camera.
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jun 2011
Messaggi: 132
|
scusate se rispondo ora,comunque nella hompage del database sono presenti gia le tabelle,e le cose inserite.il problema me lo da quando faccio start e trascino il popolamento mi da questo errore di restrizione,forse perchè gia ci sono i dati?
si la chiave primaria è il numero camera,le camere vanno da 1 a 20,non ci sono numeri uguali,anche le date sono diverse,da 1 a 10 sono sigole,da 11 a 20 doppie,forse è questo il problema? aggiungo un altra domanda,la chiave primaria di camera è N_camera,se N_camera è una chiave esterna in un altra tabella,la chiave esterna si puo chiamare N_camera o la devo chiamare in un altro modo? perchè mi sta venendo il dubbio che le chiavi esterne le devo chiamare in un altra maniera o no? Ultima modifica di Selyn : 05-06-2012 alle 17:19. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jun 2011
Messaggi: 132
|
ho risolto il problema di sopra ma ora ne ho un altro:
ORA-02270: per questa lista-colonna non vi sono chiavi uniche o primarie corrispondenti ho capito che mi dice che le chiavi non corrispondono,ma nelle tabelle le chiavi sono identiche,sono scritte bene.vi posto il codice: create table ACCETTAZIONE ( CODICEF VARCHAR2(10) not null , DATAINGRESSO DATE, DATAUSCITA DATE, N_CAMERA NUMBER(2), CONSTRAINT FK_ACCETTAZIONE PRIMARY KEY (CODICEF,DATAINGRESSO,N_CAMERA), CONSTRAINT FK_CAMERAH foreign key(N_CAMERA) references CAMERA(N_CAMERA) ); create table ESEGUE ( CODICEFISCALE VARCHAR2(10) not null, CODICEF VARCHAR2(10) not null , CONSTRAINT FK_ESEGUE PRIMARY KEY(CODICEFISCALE,CODICEF), CONSTRAINT FK_CLIENT foreign key(CODICEFISCALE) references CLIENTE(CODICEFISCALE), constraint FK_ACCETTAZIONE foreign key (CODICEF) references ACCETTAZIONE (CODICEF) ); il problema me lo da su fk_accettazione! come vedete le chiavi sono identiche! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:39.



















