se ho una tabella che contiene degli ordini relativi a un videonoleggio e voglio evitare che si aprano più ordini relativi allo stesso prodotto nello stesso periodo di tempo(evitare che si sovrappongano insomma) come scrivo la condizione per far interrogare la tabella prima dell'inserimento e verificare quanto detto sopra?

ho bisogno di verificare quindi che non esistano record dove:
la data di fine sia maggiore di quella di inizio all'inserimento
la data di inizio sia minore della data di fine all'inserimento

graficamente :
nol1.............in---------------fi

nol2.............................................. ........................in----------------------fi

nol3...............................in-----------------------------------fi

ho pensato a una cosa simile :
codice:
CREATE TRIGGER ValidateNol
BEFORE INSERT ON Nol
FOR EACH ROW BEGIN


IF EXISTS (SELECT DataInizio,DataFine FROM tabella
WHERE DataFine>NEW.DataInizio AND DataInizio<NEW.DataFine) THEN
SET NEW.prodID=null;

END IF;

END;
//

però non sono sicuro possa funzionare...gli attributi sarebbero di tipo DATETIME, ma nella documentazione ho letto che EXISTS restituisce TRUE anche se trova solo valori nulli, vorrei sapere allora se questa istruzione servirebbe allo scopo...