On Sat, 20 Sep 2003 18:55:34 -0400, Kevin Houle <[EMAIL PROTECTED]> wrote: > SELECT INTO result * FROM table_rates WHERE > effective_date >= NEW.effective_date AND > expiry_date <= NEW.expiry_date AND > cost = NEW.cost; > IF FOUND THEN > RAISE EXCEPTION ''record overlaps with existing record''; > END IF;
This only catches complete inclusion of an old range in the new one. new b---------------------e old b--------------e Try WHERE effective_date < NEW.expiry_date AND expiry_date > NEW.effective_date which also detects new b--------------------e old b-------------------e old b------------------e old b--------------------------------e Servus Manfred ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])