Problema cn sql

di il
6 risposte

Problema cn sql

Errore durante il salvataggio delle modifiche nella tabella "SYSTEM"."TEAM1":
Riga 1: ORA-02291: integrity constraint (SYSTEM.SYS_C007212) violated - parent key not found
ORA-06512: at line 1

mi restituisce questo errore se provo ad inserire dati in una tabella dov'è presente anche una foreign key.
CREATE TABLE ANAGRAFICA
(
MATRICOLA CHAR (15),
PRIMARY KEY (MATRICOLA),
NOME VARCHAR(25),
COGNOME VARCHAR (25),
NOMEDIP VARCHAR(25),
STIPENDIO VARCHAR(15)
);

CREATE TABLE PROGETTI
(
NOME VARCHAR (25),
CODICE CHAR (5),
PRIMARY KEY (CODICE),
STIPENDIO VARCHAR (15),
ANNO CHAR (4),
FONDI VARCHAR(15)
);

CREATE TABLE TEAM1
(

MAT CHAR (5),
PRIMARY KEY (MAT),
PROG CHAR (5),

FOREIGN KEY (MAT) REFERENCES ANAGRAFICA(MATRICOLA)
ON DELETE SET NULL,
FOREIGN KEY (PROG) REFERENCES PROGETTI (CODICE)
ON DELETE SET NULL
);
il tutto avviene nella tabella team1. Grazie x eventuali chiarimenti.

6 Risposte

  • Re: Problema cn sql

    birkhoff92 ha scritto:


    Errore durante il salvataggio delle modifiche nella tabella "SYSTEM"."TEAM1":
    Riga 1: ORA-02291: integrity constraint (SYSTEM.SYS_C007212) violated - parent key not found
    ORA-06512: at line 1

    mi restituisce questo errore se provo ad inserire dati in una tabella dov'è presente anche una foreign key.
    CREATE TABLE ANAGRAFICA
    (
    MATRICOLA CHAR (15),
    PRIMARY KEY (MATRICOLA),
    NOME VARCHAR(25),
    COGNOME VARCHAR (25),
    NOMEDIP VARCHAR(25),
    STIPENDIO VARCHAR(15)
    );
    
    CREATE TABLE PROGETTI
    (
    NOME VARCHAR (25),
    CODICE CHAR (5),
    PRIMARY KEY (CODICE),
    STIPENDIO VARCHAR (15),
    ANNO CHAR (4),
    FONDI VARCHAR(15)
    );
    
    CREATE TABLE TEAM1
    (
    
    MAT CHAR (5),
    PRIMARY KEY (MAT),
    PROG CHAR (5),
    
    FOREIGN KEY (MAT) REFERENCES ANAGRAFICA(MATRICOLA)
    ON DELETE SET NULL,
    FOREIGN KEY (PROG) REFERENCES PROGETTI (CODICE)
    ON DELETE SET NULL
    );
    
    il tutto avviene nella tabella team1. Grazie x eventuali chiarimenti.
    dall'errore mi sembra di capire che stai inserendo un record nella tabella team1 in un campo chiave esterna, valore pero' non presente nelle tabelle che referenziano quel campo...
  • Re: Problema cn sql

    Quindi l'errore è nella chiave esterna giusto? come potrei risolvere? ho creato altre tre tabelle ( aziende, progetti, impiegati) e mi funzionano XD
  • Re: Problema cn sql

    [BD] acosa è dovuto questo errore? data l'ho inserita in tabella come integer
    INSERT INTO "SYSTEM"."CARRIERE" (STUDENTE, CORSO, VOTO, DATA) VALUES ('041/002059', '041010', '26', '22-01-14')
    ORA-01722: invalid number
    ORA-06512: at line 1
    inoltre mi da quest'altro errore :\
  • Re: Problema cn sql

    birkhoff92 ha scritto:


    [BD] acosa è dovuto questo errore? data l'ho inserita in tabella come integer
    INSERT INTO "SYSTEM"."CARRIERE" (STUDENTE, CORSO, VOTO, DATA) VALUES ('041/002059', '041010', '26', '22-01-14')
    ORA-01722: invalid number
    ORA-06512: at line 1
    inoltre mi da quest'altro errore :\
    ti sei risposto da solo.

    se data l'hai salvato come integer... questo ti sembra un integer? '22-01-14'
  • Re: Problema cn sql

    Si risolto poi me ne sono accorto Xd. ora però facendo delle query, se inserisco ad esempio più studenti (matricola) che hanno sotenuto un dato esame, mi dice che: INSERT INTO "SYSTEM"."CARRIERE" (STUDENTE, CORSO, VOTO, DATA) VALUES ('041/002059', '041011', '22', TO_DATE('21-OTT-13', 'DD-MON-RR'))
    ORA-00001: unique constraint (SYSTEM.SYS_C007218) violated
    ORA-06512: at line 1


    Errore durante il salvataggio delle modifiche nella tabella "SYSTEM"."CARRIERE":
    Riga 6: ORA-00001: unique constraint (SYSTEM.SYS_C007218) violated
    ORA-06512: at line 1
    come posso fare ?
    [img][/img]
  • Re: Problema cn sql

    Mi sembra che questo tuo ultimo quesito non c'entri nulla con i precedenti.

    Direi che è il caso di aprire una nuova discussione, e stavolta indicando un titolo 'descrittivo' perchè questo che hai usato è invece l'esatto contrario.

    E questa volta nel forum corretto, ovvero Oracle.

    Eventualmente chiedi al moderatore.
Devi accedere o registrarti per scrivere nel forum
6 risposte