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

Décisions SGBD Discussion :

Mise à jour automatique d'un champ


Sujet :

Décisions SGBD

  1. #1
    Invité
    Invité(e)
    Par défaut Mise à jour automatique d'un champ
    Bonjour,

    Je suis débutant en Base de Données, n'ayant pas trouvé forum plus approprié, je me permet de poster ici. Si je suis au mauvais endroit (ce que je n'espère), un bienveillant modérateur pourra déplacer le sujet en bonne place ? Je vous remercie.


    J'ai une interrogation à laquelle je ne parviens pas à trouver réponse.

    J'ai une table "Formulaire" contenant comme propriétés "Date_limite" et "Statut".
    Supposons que le statut actuel soit "Valide".
    Supposons que la date limite soit le 15/05/2016.
    Nous somme aujourd'hui le 16/05/2016.

    Est-ce possible via le sgbd de mettre à jour le champ "Statut" pour que celui-ci passe de la valeur "Valide" vers la valeur "Invalide" ? C'est à dire, une espèce de script ou je ne sais, interne au sgbd, qui se chargerait tout les jours de mettre automatiquement à jour le champ "Statut" en fonction de la date limite par rapport à la date actuel ?

    C'est une question d'ordre générale, pas forcément lié à un sgbd en particulier.

    Je vous remercie de votre attention et de vos futures réponses,

    isNaN.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 776
    Points
    30 776
    Par défaut
    Pourquoi pas tout simplement une vue ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT  frm.*
        ,   CASE WHEN frm.date_limite > CURRENT_DATE
                THEN 'Valide' ELSE 'Invalide' END AS statut
    FROM    formulaire  AS frm
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 126
    Points : 38 509
    Points
    38 509
    Billets dans le blog
    9
    Par défaut
    Attention toutefois :
    si le traitement doit pouvoir être utilisé en mode reprise, il ne faut pas utiliser la current_date, mais une date en paramètre
    Même remarque s'il s'agit d'un traitement batch de nuit qui peut démarrer avant minuit et se terminer le lendemain.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    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 756
    Points : 52 531
    Points
    52 531
    Billets dans le blog
    5
    Par défaut
    Effectivement la solution de Al_24 est la meilleure.

    Par principe les applications ne devraient JAMAIS attaquer directement des tables, mais toujours passer par des vues. Il y a de nombreuses raisons à cela, la première étant la facilité de restructuration de la base du fait de la couche vue qui rend indépendant le lien entre les données et les applications.

    La possibilité de présenter l'information à moindre coût en est une autre.

    En effet il serit possible de planifier une tâche qui mettrait à jour régulièrement ces données, par exemple quotidiennement à 0h. Mais cette tâche devrait donc s'exécuter même s'il n'y a rien à faire et même si personne ne consulte les données !
    Le surcoût d'un vue étant plus que modeste en comparaison d'un processus mis en attente dans un planificateur !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Je profite de cette intervention de Frédéric pour l'illuster avec ce billet que j'ai écrit en septembre, montant le grand avantage de passer par des vues afin d'avoir plus de souplesse dans l'évolution du modèle des données (qui n'est rarement bon du premier coup quand il s'agit d'un projet donc le cahier des charges évolue dans le temps).

    http://sgbd.developpez.com/actu/9019...StringBuilder/
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Très intéressant ! Sur un projet en cours avec SQL Server, je n'ai pas la chance d'avoir un DBA dans mon équipe. J'ai tendance à utiliser des procédures stockées (SP), et peu de vues. Peut-on considérer qu'elles (SP) apportent la même souplesse que les vues comme suggéré ici ? Est-ce également une bonne pratique que de "brancher" les SP sur des vues ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Les SP jouent en effet le même rôle.

    Cependant, l'avantage des vues, c'est qu'on fige moins le code : avec une SP, on va devoir choisir exactement quels éléments sont filtrés, quels éléments sont retournés, etc. Avec une vue, on permet "qui peut le plus peut le moins".

    Habituellement, d'un point de vue purement maintenabilité du code, je branche toujours mes SP sur des vues (sauf quand ce sont des SP à sécurité forte, telles qu'une validation de login par exemple).

    D'un point de vues performances, je ne suis cependant pas certain que brancher des SP sur des vues plutôt que des tables soit très heureux. Cependant, du moment que les deux sont bien écrites, c'est toujours mieux qu'une requête écrite pas un générateur de code
    On ne jouit bien que de ce qu’on partage.

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    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 756
    Points : 52 531
    Points
    52 531
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Très intéressant ! Sur un projet en cours avec SQL Server, je n'ai pas la chance d'avoir un DBA dans mon équipe. J'ai tendance à utiliser des procédures stockées (SP), et peu de vues. Peut-on considérer qu'elles (SP) apportent la même souplesse que les vues comme suggéré ici ? Est-ce également une bonne pratique que de "brancher" les SP sur des vues ?
    Non, pas du tout !

    une vue peut être interrogée par SELECT (donc jointure,; filtrage...), une procédure non
    Une vue peut être mise à jour donc modifier les données des tables. Une procédure non...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Mise à jour automatique d'un champ
    Par Destiny dans le forum Access
    Réponses: 1
    Dernier message: 20/08/2014, 09h45
  2. [AC-2000] Mise à jour automatique d'un champ dans une table
    Par Nerva dans le forum Access
    Réponses: 3
    Dernier message: 14/10/2010, 18h49
  3. Mise à jour automatique d'un champs date
    Par chtom dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/01/2009, 12h28
  4. Mise à jour automatique d'un champ
    Par supertoms dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/05/2008, 18h26
  5. [Word 2000] Mise à jour automatique d'un champ
    Par texas2607 dans le forum Word
    Réponses: 12
    Dernier message: 13/09/2007, 12h23

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