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

MS SQL Server Discussion :

[MSSQL05] Archivage de données, trigger sur une vue


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut [MSSQL05] Archivage de données, trigger sur une vue
    Bonjour,

    Je dispose d'une table qui est la copie conforme d'une vue, avec un champ en plus que j'ai défini (matable = mavue + 1 autre champ). Ma table est en fait une table d'archivage, et le champ que j'ai défini est un identifiant computed (concaténation de plusieurs champs).

    Je voudrais qu'à chaque fois que les données produites par ma vue soient modifiées, ajoutées, supprimées, ces données soient insérées dans ma table...

    Je pensais faire un "trigger on update" (ou delete, insert) sur ma vue mais cela ne prendra pas en compte les données produites par ma vue mais seulement la structure de ma vue ? Avez vous une piste pour que je puisse effectuer mon archivage automatiquement... Sans que je passe par des triggers sur chaque table qui compose ma vue (ma vue contient une centaine de champs sur 22 tables).

    Merci !
    N'oubliez pas le tag [Résolu] quand nécessaire !

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Il n'y a pas de solution simple... mais ma question : pourquoi as-tu une table et une vue. La vue ne suffit-elle pas ? Si tu veux matérialiser le résultat de ta vue, tu peux l'indexer
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    La vue ne suffit pas dans le sens où je dois archiver toutes les données produites par ma vue. Je prends un exemple pour expliquer :

    Etape 1:
    select * from mavue => id = 1, champ = 'toto'

    Donc dans ma table j'aurai :
    select * from matable => id_archive = 1, id = 1, champ = 'toto'

    Etape 2:
    On apporte des modifs sur les tables qui composent la vue, 'toto' devient 'titi'.
    Donc : select * from mavue => id = 1, champs = 'titi'

    Et là dans ma table d'archivage, je dois avoir :
    select * from matable => id_archive = 1, id = 1, champs = 'toto'
    => id_archive = 2, id = 1, champs = 'titi'

    Et c'est à l'étape 2 que je ne vois pas comment remplir automatiquement ma table...

    [UPDATE]
    Finalement mon soucis pourra se résoudre par un simple backup via DTS quotidien... Ca satisfait les attentes du projet.
    N'oubliez pas le tag [Résolu] quand nécessaire !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mySql : trigger sur une vue qui référence plusieurs tables
    Par charlesS dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/02/2012, 14h50
  2. trigger sur une vue sur sqlserver 2005
    Par thor76160 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 07/03/2009, 11h41
  3. Trigger d'insertion sur une vue
    Par Cirtadz dans le forum PL/SQL
    Réponses: 40
    Dernier message: 19/02/2009, 12h56
  4. TRIGGER sur une vue
    Par islamune9 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/09/2007, 17h32
  5. [Trigger] Comment le réaliser sur une vue ?
    Par mandale dans le forum DB2
    Réponses: 1
    Dernier message: 19/09/2005, 13h43

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