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 :

Empecher saisie à partir d'une date.


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Empecher saisie à partir d'une date.
    Bonjour,

    Je cherche à mettre en place une 'contrainte' (si il s'agit d'une contrainte) sur tous les champs d'une table en fonction d'une date (cette date est présente dans ma table)

    Si l'utilisateur veut saisir de la donnée avant la date, il le peut.
    Par contre une fois cette date dépassée il ne peut plus saisir la donnée.

    Existe-il une syntaxe pour 'bloquer' la saisie dans un ou plusieurs champs ('Bloquer si...' et pas 'bloquer' de façon permanente).

    Si oui, je pensais utiliser une fonction de type 'check (avec condition utilisant: current_time sur mon champ date)'.

    Merci pour le coup de pouce.

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2002
    Messages : 98
    Points : 169
    Points
    169
    Par défaut
    C'est plutôt un trigger qu'il faudrait utiliser.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    En effet, un trigger doit être la solution.
    Les événements possibles sont:INSERT, UPDATE ou DELETE.

    Dans ma syntaxe, est-ce que je peux du coup utiliser un 'NO UPDATE' ou 'NO INSERT' pour bloquer mes champs et dire que la mise à jour est impossible après une certaine date?

    Merci

    NB:
    Je découvre Oracle et le SQL. Je ne suis donc pas très bien à l'aise dans le domaine.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Vous avez besoin d'un Trigger de type INSTEAD.

    Le code de ce type de trigger remplace l'ordre SQL qui a déclenché le trigger.

    Ainsi, vous devez coder que le trigger effectue bien l'update si vos conditions sont satisfaites ou ne fait rien dans le cas contraire.

    Renseignez vous sur la syntaxe propre à votre SGBD pour implémenter celà. Oracle et SQL Server proposent tous les deux ce type de trigger.

Discussions similaires

  1. Comment extraire le mois à partir d'une date?
    Par toumoham dans le forum Paradox
    Réponses: 1
    Dernier message: 17/05/2006, 13h37
  2. Créer une alerte à partir d'une date donnée
    Par Skumps dans le forum Access
    Réponses: 4
    Dernier message: 13/04/2006, 16h12
  3. [vbexcel]trouver le jour a partir d'une date.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/12/2005, 16h07
  4. [D7] trouver une semaine partir d'une date
    Par raoulmania dans le forum Langage
    Réponses: 3
    Dernier message: 01/12/2005, 10h36
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

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