IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

contrainte sur intervalle


Sujet :

PostgreSQL

  1. #1
    Membre du Club Avatar de passie
    Inscrit en
    Février 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 56
    Points : 55
    Points
    55
    Par défaut contrainte sur intervalle
    Bonjour à tous,
    Est il possible de créer une contrainte de verification sur d'autres enregitrements de la table,
    je m'explique
    j'ai une table du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE fagn.t_couverture_lys
    (
      id_couv_lys serial NOT NULL,
      id_lys int4 NOT NULL,
      date_debut_couv date NOT NULL,
      date_fin_couv date NOT NULL,
      CONSTRAINT id_couv_lys_pk PRIMARY KEY (id_couv_lys),
      CONSTRAINT id_lys_pk FOREIGN KEY (id_lys)
          REFERENCES fagn.t_lys(id_lys) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION
    ) 
    WITH OIDS;
    je voudrais être sur que chacun des enregistrement qui utilise le même id_lys n'a pas une période de couverture (date_debut_couv -> date_fin couv) qui se croise avec une autre période.
    Peut on écrire une contrainte sur ceci ?? ou est ce en php qu'il faut traiter ce genre de soucis.

    Merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 111
    Points : 28 466
    Points
    28 466
    Par défaut
    Tu peux éventuellement le traiter avec un trigger avant insertion ou mise à jour, qui génère une anomalie en cas de recouvrement trouvé... à la condition bien sur que ton SGBD supporte les déclencheurs.

  3. #3
    Membre du Club Avatar de passie
    Inscrit en
    Février 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 56
    Points : 55
    Points
    55
    Par défaut
    à la condition bien sur que ton SGBD supporte les déclencheurs.
    J'utilise PostgreSQL qui je pense doit pouvoir utiliser les TRIGGERS mais je ne l'ai encore jamais fait.
    C'est peut être l'occasion
    Merci je vais chercher de ce côté

Discussions similaires

  1. SQLServer 2000: Liste des contraintes sur une colonne ?
    Par swirtel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2005, 16h13
  2. retrouver les contraintes sur une colonne
    Par kalari dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/10/2005, 17h03
  3. Réponses: 3
    Dernier message: 28/04/2005, 16h56
  4. [Interbase] Mettre une contrainte sur un champ
    Par mika dans le forum InterBase
    Réponses: 2
    Dernier message: 26/01/2005, 14h04
  5. contrainte sur deux champs d'une table
    Par bdkiller dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/09/2004, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo