Ok !
Merci, ta réponse m'inspire... En fait, c'est plus simple que je ne pensais !
Alors, la fonction simplifiée donnerait quelquechose de ce genre (pas encore eu le temps de tester, c'est juste l'inspiration du moment...) :
CREATE FUNCTION areExclusivePeriods( DATE, DATE, DATE, DATE)
RETURNS boolean AS'
DECLARE
debut1 ALIAS FOR 1ドル;
fin1 ALIAS FOR 2ドル;
debut2 ALIAS FOR 3ドル;
fin2 ALIAS FOR 4ドル;
retval boolean;
BEGIN
IF (((debut2 >= fin1) AND (fin2 > debut2)) or ((debut1 >= fin2) and (debut1 > fin1))
then
retval := true;
else
retval := false;
end if;
return retval;
end;
' LANGUAGE 'plpgsql';
En fait, de part les contraintes (check...), il est même probable que la deuxième partie du test (finN > debutN) ne soit pas indispensable, par contre il rend le code plus lisible, je le garde donc (en plus, sans, la fonction n'a plus aucun sens et ne fonctionne pas comme il faut.... ). J'ai fait des tests, même en renseignant des trucs bizare, ça à l'air de fonctionner.... Ca me plait bien.
Pour le trigger, rien à redire, ça me plait bien aussi....
Je m'en vais intégrer tout ça !
Merci pour l'inspiration.... J'étais vraiment dans le gaz ce matin !
[^] # Re: pour renvoyer une erreur
Posté par Gyro Gearllose . En réponse au message Soucis de SQL..... Évalué à 1.
Merci, ta réponse m'inspire... En fait, c'est plus simple que je ne pensais !
Alors, la fonction simplifiée donnerait quelquechose de ce genre (pas encore eu le temps de tester, c'est juste l'inspiration du moment...) :
CREATE FUNCTION areExclusivePeriods( DATE, DATE, DATE, DATE)
RETURNS boolean AS'
DECLARE
debut1 ALIAS FOR 1ドル;
fin1 ALIAS FOR 2ドル;
debut2 ALIAS FOR 3ドル;
fin2 ALIAS FOR 4ドル;
retval boolean;
BEGIN
IF (((debut2 >= fin1) AND (fin2 > debut2)) or ((debut1 >= fin2) and (debut1 > fin1))
then
retval := true;
else
retval := false;
end if;
return retval;
end;
' LANGUAGE 'plpgsql';
En fait, de part les contraintes (check...), il est même probable que la deuxième partie du test (finN > debutN) ne soit pas indispensable, par contre il rend le code plus lisible, je le garde donc (en plus, sans, la fonction n'a plus aucun sens et ne fonctionne pas comme il faut.... ). J'ai fait des tests, même en renseignant des trucs bizare, ça à l'air de fonctionner.... Ca me plait bien.
Pour le trigger, rien à redire, ça me plait bien aussi....
Je m'en vais intégrer tout ça !
Merci pour l'inspiration.... J'étais vraiment dans le gaz ce matin !