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

Langage SQL Discussion :

Comment créer une contrainte check de la forme getdate - 18


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment créer une contrainte check de la forme getdate - 18
    Bonjour,

    Je n'arrive pas à créer une contrainte check sur une date de naissance pour vérifier que la date de naissance soit la date du jour moin 18 ans.

    Merci par avance.

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    On peut voir ton code ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where datenaissance <= dateadd(year,-18,gedate())

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 904
    Points : 51 649
    Points
    51 649
    Billets dans le blog
    6
    Par défaut
    En pur SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE T_TEST
    (MA_DATE     DATE CHECK(VALUE > CURRENT_TIMESTAMP - INTERVAL 18 YEAR))
    mais cela dépend fortement du SGBDR que vous n'avez pas indiqué !

    A +

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut je vous donne un complément d'information
    merci vos réponses.
    Je travaille sur une base sql server 2000.
    J'ai une table abonné sur laquelle je voulais mettre en place une contrainte check sur la colonne "date de naissance" pour n'avoir que des personnes majeur.
    J'ai aussi voulu mettre en place 2 autres contraintes check sur les colonnes "code postale" et "telephone mobile" du type "...like 06[0-9]...., mais il semblerai que cette contrainte n'ai pas pris en compte à l'insertion de ligne dans la base.
    J'ai donc ajouter une "propriété etendu sur les champs "telephone" et "code postal" pour avoir au moin un masque mais ce n'ai pas suffisant.
    Si vous avez une idée je la prend avec plaisir.

Discussions similaires

  1. Comment créer une contrainte UNIQUE insensible à la casse ?
    Par pavlo_id dans le forum Administration
    Réponses: 3
    Dernier message: 08/02/2011, 14h53
  2. Comment créer une form 'preference' ?
    Par jeremm dans le forum C#
    Réponses: 1
    Dernier message: 01/05/2010, 15h52
  3. Comment créer une contrainte entre deux tables ?
    Par Invité dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/04/2009, 16h53
  4. Réponses: 2
    Dernier message: 02/04/2008, 19h05
  5. comment créer une image sous forme d'eclipse(ronde)
    Par unix27 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/05/2005, 22h16

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