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 :

Problème de vues [2000]


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Problème de vues
    Bonjour à toutes et à tous

    J'ai un gros soucis avec des vues SQL sous SQL2K
    j'en ai plusieurs dans ma base qui font référence a plusieurs tables par jointure
    cela fonctionne très bien, sauf si j'ai le malheur de rajouter un champ dans une des tables utilisée par les vues en questions.
    En effet, à partir du moment ou j'ajoute un champs dans une table, ce champ se retrouve AUTOMATIQUEMENT dans la vue
    avec un alias, et un peu n'importe ou dans la vue, ce qui a pour effet de retourner n'importe quoi comme résultat.
    Je croyais qu'une vue était une représentation de tables et que l'on ne pouvait sélectionner que ce que l'on souhaitait comme champ.
    Si quelqu'un a une idée, car après avoir chercher pendant des heures sur le Net, je n'ai rien trouvé, a part une propriété inaccessible qui est
    "Vue attaché au schéma=False" mais étant donné qu'elle est inaccessible, je ne peux rien tester.
    Merci de m'avoir lu

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    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 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    J'ai peur... Les vues ne seraient pas des SELECT * quand même ?
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut probléme de vues
    Citation Envoyé par StringBuilder Voir le message
    J'ai peur... Les vues ne seraient pas des SELECT * quand même ?
    Merci de t'intéresser à mon cas

    Non, les select sont fait en nommant chaque champ, j'ai l'impression qu'il y a une reconstruction de la vue de manière dynamique
    quand je rajoute un champ en fin de table, je le retrouve en plein milieu de ma vue, avec un alias, alors que je ne souhaite pas que ce champ figure dans ma vue
    ex : SELECT AFF.id, AFF.DOSid, AFF.TETid AS TARid, AFF.TARid AS DOS FROM ....

    comme on le voit, il fait des alias en remplaçant les champs réels par d'autre, du coup, plus rien ne fonctionne.
    J'ai une copie de cette base sur SQL2008, cela me fais la même chose.

    Je ne sais pas s'il y a une option quelque part qui dirais "ne pas mettre la vue à jour en fonction des champs de la table"

    J'arrive à m'en sortir car j'ai copié le code original de la vue, mais nous sommes en pleine refonte, il y a une cinquantaine de vues concernées
    Argghhhh je meurs, mais de toute façon ce n'est pas un comportement "Normal"

    A noter aussi, que si je supprime le champ de la table, la vue redevient correcte et fonctionne à nouveau, Strange non cette construction dynamique ?

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    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 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Comment as-tu créé les vues ?
    Et comment rajoutes-tu la colonne ?

    En effet, je viens de faire un test chez moi (SQL Server 2014 Express) et je n'ai absolument pas le même comportement : J'ai beau rajouter des colonnes dans les différentes tables appelées par la vue, la vue ne change pas !

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    create view eleve_classe
    as
    select e.id eleve_id, e.classe_id, e.nom eleve_nom, c.nom classe_nom
    from eleve e
    inner join classe c on c.id = e.classe_id;
     
    alter table eleve add naissance datetime2 null;
    alter table classe add etage int null;
     
    select * from eleve_classe;
    -- Je retrouve bien eleve_id, classe_id, eleve_nom et classe_nom
    On ne jouit bien que de ce qu’on partage.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Comment as-tu créé les vues ?
    Et comment rajoutes-tu la colonne ?

    En effet, je viens de faire un test chez moi (SQL Server 2014 Express) et je n'ai absolument pas le même comportement : J'ai beau rajouter des colonnes dans les différentes tables appelées par la vue, la vue ne change pas !

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    create view eleve_classe
    as
    select e.id eleve_id, e.classe_id, e.nom eleve_nom, c.nom classe_nom
    from eleve e
    inner join classe c on c.id = e.classe_id;
     
    alter table eleve add naissance datetime2 null;
    alter table classe add etage int null;
     
    select * from eleve_classe;
    -- Je retrouve bien eleve_id, classe_id, eleve_nom et classe_nom


    Hé bien la vue a été de manière dynamique en utilisant Clic-droit création, de même que lorsque j'ajoute un champ, je passe par
    l'interface, mode création puis j'ajoute mon champ à la table

    Je vais tester l'ajout par ligne de code, on ne sait jamais

  6. #6
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    saxaphone845,

    Pouvez-vous poster la DDL de la vue qui pose problème, ainsi qu'un exemple concret de son utilisation. En effet, ce que vous décrivez me parait surréaliste !

    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est étrange je trouve
    si j'ajoute un champ dans ma table et que j'ouvre la vue avec l'interface graphique, je retrouve mon champ non désiré

    maintenant, si j'ajoute un champ, et qu'ensuite je recréé ma vue, cela fonctionne
    Il ne faut pas que je l'ouvre avec l'interface graphique.
    je vais m'en tenir au code, c'est un peu plus long et moins "visuel" mais au moins ça fonctionne


    Merci en tout les cas de tes infos, ça m'a permis de me dépatouiller un peu

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

Discussions similaires

  1. Problème de vue
    Par tiyolx dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 27/11/2008, 09h44
  2. Envoie de Mail # Problème de vue
    Par captainflex dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 07/09/2008, 13h11
  3. Problèmes de vue indéxée
    Par The eye dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/03/2008, 00h25
  4. Problème de vue Datasheet sous sharepoint
    Par FiCuS dans le forum SharePoint
    Réponses: 1
    Dernier message: 23/10/2007, 11h04

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