ho un problemino che non riesco a risolvere:
quando faccio
codice:
delete from pi where id=10
mi restituisce l'errore: "violazione della restrizione di chiave esterna"

anche se ho inserito la clausola "DELETE ON CASCADE"

il database è organizzato così:
codice:
 
CREATE table pi (
    ID_PI         INTEGER NOT NULL 
                PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
                (START WITH 1, INCREMENT BY 1),
    NOME    VARCHAR(30), 
    INDIRIZZO   VARCHAR(30)
      );

CREATE table progetti (
    ID_PROG         INTEGER NOT NULL 
                PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
                (START WITH 1, INCREMENT BY 1),
    NOME    VARCHAR(30)
      );

CREATE table relazioni (
    ID_relp         INTEGER NOT NULL 
                PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
                (START WITH 1, INCREMENT BY 1),
Foreign Key (fk_pi) references PI(ID_PI) on delete cascade,
foreign Key (fk_idprog) references PROGETTI(ID_PROG) on delete cascade
      );
praticamente ci sono tanti progetti che possono avere tanti pi, e ogni pi può appartenere a tanti progetti.
però mi dà l'errore che ho scritto all'inizio quando provo a cancellare un pi, ho dimenticato qualcosa?
Grazie e scusate se la domanda è un pò ingenua, ma ho letto da diverse fonti guide varie e mi sembra che il codice sia corretto!