scusa è perchè ho scritto il codice a memoria, ho dimenticato quei due campi.
ma la tabella la crea, il problema è quando provo a fare delete di un pi o di un progetto.

non me lo fa fare perchè mi dà errore, e non capisco perchè!

questo è il codice esattamente com'è nel mio progetto:
codice:
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 pi (
    ID_PI         INTEGER NOT NULL 
                PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
                (START WITH 1, INCREMENT BY 1),
    NOME    VARCHAR(30), 
    COORDINATE   VARCHAR(30)

	 );

CREATE table relazionip (
    ID_RELP        INTEGER NOT NULL 
                PRIMARY KEY GENERATED ALWAYS AS IDENTITY 
                (START WITH 1, INCREMENT BY 1),
fk_idprog INTEGER,
fk_idpi INTEGER,
Foreign Key (fk_idprog) references PROGETTI(ID_PROG)
on delete cascade,
Foreign Key (fk_idpi) references PI(ID_PI)
ON DELETE CASCADE
      );
se provo a fare DELETE FROM PI WHERE id_pi=12 mi dice
VIOLAZIONE DELLA RESTRIZIONE DI CHIAVE ESTERNA