Salve,
qualcuno è in grado di aiutarmi nel risolvere questo problema?
Ho due tabelle che differiscono di qualche attributo:
Db_giornaliero
CREATE TABLE "DB_GIORNALIERO"
( "IDDATI" NUMBER NOT NULL ENABLE,
"Id_Treno" VARCHAR2(25) NOT NULL ENABLE,
"StzPart" NUMBER NOT NULL ENABLE,
"StzArr" NUMBER NOT NULL ENABLE,
"OraPart" TIMESTAMP (6) NOT NULL ENABLE,
"OraArr" TIMESTAMP (6) NOT NULL ENABLE,
"Prezzo" NUMBER NOT NULL ENABLE,
"OraEffPart" TIMESTAMP (6),
"OraEffArr" TIMESTAMP (6),
"NumFermata" NUMBER NOT NULL ENABLE,
"PostiTot" NUMBER NOT NULL ENABLE,
"PostiDisp" NUMBER NOT NULL ENABLE,
CONSTRAINT "STAZ_DIVERSE" CHECK ( "StzArr" <> "StzPart") ENABLE,
CONSTRAINT "OraPartArr" CHECK ( "OraArr" > "OraPart") ENABLE,
CONSTRAINT "ORAEFF" CHECK ( "OraEffArr" > "OraEffPart") ENABLE,
CONSTRAINT "OraEffPartenza" CHECK ( "OraEffPart" >= "OraPart") ENABLE,
CONSTRAINT "PrezzoNonZero" CHECK ( "Prezzo" > 0) ENABLE,
CONSTRAINT "Posti_Tot_Disp" CHECK ( "PostiDisp" <= "PostiTot") ENABLE,
CONSTRAINT "POSTI_TOT" CHECK ( "PostiTot" >0 AND "PostiDisp"> 0) ENABLE,
CONSTRAINT "DATI_PK" PRIMARY KEY ("IDDATI") ENABLE,
CONSTRAINT "DATI_STAZIONE_FK1" FOREIGN KEY ("StzPart")
REFERENCES "STAZIONE" ("IDSTAZIONE") ON DELETE CASCADE ENABLE,
CONSTRAINT "DATI_STAZIONE_FK2" FOREIGN KEY ("StzArr")
REFERENCES "STAZIONE" ("IDSTAZIONE") ON DELETE CASCADE ENABLE,
CONSTRAINT "DATI_TRENO_FK" FOREIGN KEY ("Id_Treno")
REFERENCES "TRENO" ("IDTRENO") ON DELETE CASCADE ENABLE
)
e db_statistiche
CREATE TABLE "DB_STATISTICHE"
( "IDSTATS" NUMBER,
"Id_Treno" VARCHAR2(25),
"StzPart" NUMBER,
"StzArr" NUMBER,
"OraPart" TIMESTAMP (6),
"OraArr" TIMESTAMP (6),
"OraEffPart" TIMESTAMP (6),
"OraEffArr" TIMESTAMP (6),
CONSTRAINT "STATISTICHE_PK" PRIMARY KEY ("IDSTATS") ENABLE,
CONSTRAINT "STATISTICHE_FK" FOREIGN KEY ("IDSTATS")
REFERENCES "DB_GIORNALIERO" ("IDDATI") ENABLE
)
Ora vorrei inserire una riga di db_giornaliero in db_statistiche ogni volta che in db_giornaliero l'attributo oraeffarr è NOT NULL. E contemporaneamente risettare a NULL gli attributi variabili di db_giornaliero come oraeffarr e oraeffpart.
Qual'è l'approccio migliore?grazie