none
errore sql RRS feed

  • Domanda

  • ciao a tutti mi sono appena iscritta perchè ho un problema,ho creato queste 2 tabelle,la prima me la crea senza problemi ma la seconda no dandomi questo errore :

    ORA-02270: per questa lista-colonna non vi sono chiavi uniche o primarie corrispondenti

    le tabelle in questione sono:

    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,
     CODICEFISC         VARCHAR2(10) not null ,
     CONSTRAINT FK_ESEGUE PRIMARY KEY(CODICEFISCALE,CODICEFISC),
     CONSTRAINT FK_CLIENT foreign key(CODICEFISCALE) references CLIENTE(CODICEFISCALE),
     constraint FK_ACCETTAZION foreign key (CODICEFISC) references ACCETTAZIONE (CODICEF)
    );

    le chiavi sono quelle perchè mi dice che non combaciano?
    la tabella accettazione la crea è la tabella esegue che non la crea dando l errore! spero che mi possiate aiutare



    • Modificato Selyn mercoledì 6 giugno 2012 19:28
    mercoledì 6 giugno 2012 19:22

Risposte

  • Ciao Selyn,

    premesso che questo forum riguarda Microsoft SQL Server e non Oracle, l'errore mi sembra abbastanza chiaro: stai cercando di costruire una relazione tra due tabelle senza specificare TUTTE le chiavi definite nella primary key.

    Che io sappia non è possibile costruire una foreign key che referenzi solo parzialmente la primary key della tabella referenziata (né in SQL Server, né in Oracle). Questo perchè l'engine deve poter fare il match esatto tra la riga della tabella "figla" con quella della tabella "padre" (passami i termini) e l'unico modo è referenziare TUTTI i campi della chiave primaria...

    Prova a postare questa domanda in un forum dove si parla di Oracle e probabilmente otterrai l'aiuto richiesto!


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    • Contrassegnato come risposta Anca Popa venerdì 15 giugno 2012 08:15
    lunedì 11 giugno 2012 13:39