ciao a tutti, premetto che sto imparando a creare un db da autodidatta.
in pratica ho le seguenti tabelle:
legislature(numero(varchar2), inizio(date), fine (date))
nelle parentesi ho specificato il tipo degli attributi.
parlamentari(ID(varchar2), nome, ecc ecc)
legis_parl(legi_num(varchar2), parl_id(varchar2), inizio(date), fine(date))
la tabella legis_parl l'ho creata in quanto parlamentari e legislature sono in relazione molti-a-molti.
in pratica voglio che, quando viene inserito un record nella tabella legis_parl, la data di inizio non deve essere precedente alla data di inizio della legislatura.
come posso fare??? ho provato a creare un vincolo il seguente vincolo check:
ma mi dà il seguente erroe:codice:inizio >= (select inizio from legislature where numero = legis_num)
sottoquery non permessa in questo caso.
ho provato a fare un trigger ma non so come si fanno a confrontare le date, in caso la data di inizio sia precedente alla data di inizio legislatura, deve visualizzare un messaggio di errore (eccezione creata da me), ma questo non viene visualizzato. allora ho pensato che o il trigger non non permette di visualizzare i messaggi oppure gli operatori logici sulle date non funzionano.
come posso fare??? aiutatemi vi prego.

Rispondi quotando
