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éveloppement SQL Server Discussion :

creation d'alias de table / sql server 2005


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 26
    Par défaut creation d'alias de table / sql server 2005 >> SYNONYM
    Bonjour,

    Je bloque sur un pti pb.

    Le contexte. J'ai créer une procédure qui fait quelques traitements...

    Hors, en fonction de la valeur d'un champ, transmis en paramètre, je vais travailler sur des tables différentes, qui ont les mêmes colonnes. Ces tables contiennent des configurations liés au champ transmis en paramètre.

    Donc au lieu de faire 4 tests à chaque instructions pour savoir sur quels tables travaillés, j'aurais voulu créer un alias sur ma table que je pourrai utiliser tout au long de ma procédure, et la détruire en fin de procédure.

    Je suis au debut partie sur les vues, mais cela ne fonctionne pas dans une procédure stockée, et créer une vue pour recréer une table n'est pas très optimisé.

    Après recherche, je pencherai sur l'utilisation de "Create Type" mais je n'arrive pas à en trouver la bonne syntaxe.

    Je pensai aussi éventuellement créer une vue regroupant toutes mes tables en ajoutant mon fameux champ transmis, mais j'ai peur que cette vue deviennent trop lourd.

    Auriez vous quelques pistes de recherche ?

    Merci par avance.

  2. #2
    Membre expérimenté
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Par défaut
    bonjour,
    Si j'ai bien saisie votre propos vous souhaitez construire dynamiquement la reqûete en fonction de la valeur de l'un des paramètres.
    Pour la construction dynamique de requete il est nécessaire d'utiliser sp_executesql.

  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 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Auriez vous quelques pistes de recherche ?
    Oui : pourquoi avez vous créé n tables ayant les mêmes colonnes ??? C'est une erreur dans le modèle. Il suffit de tout regrouper dans la même table ! En vertu d'une principe simple : même infos = même table.
    Si vous voulez distinguer les lignes de votre table, rajoutez simplement une colonne.
    Vos requêtes deviendront, simples, élégantes efficaces et rapide si vous mettez les index adéquat. De plus vous respecterez l'art de la modélisation de données et à terme irez 10 fois plus vite en développement !

    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/ * * * * *

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Il vous faudrait plutôt regrouper ces 4 tables en une seule, et il vous sera peut-être nécessaire ensuite d'ajouter une colonne à cette nouvelle table pour faire la distinction entre les 4 "sous-ensembles" donc vous disposez actuellement dans 4 tables.

    Je pensai aussi éventuellement créer une vue regroupant toutes mes tables en ajoutant mon fameux champ transmis, mais j'ai peur que cette vue deviennent trop lourd.
    Partant ce que je viens de vous proposer, il vous "suffit" d'indexer proprement la table unique en étudiant les requêtes qui la spécifient, notamment leur plan

    @++

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    ha ben on a posté en même temps, je n'ai donc fait que vous confirmer ce que vous propose SQLPro

    @++

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    oui, mais moi j'ai gagné !!!! na

    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/ * * * * *

  7. #7
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Il est fou SQLPro

    @++

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

Discussions similaires

  1. Probleme de creation d'une BDD avec SQL server 2005 et vista
    Par necer_cheniki dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 22/06/2008, 10h15
  2. [debutant]Creation de db et table sql server 2005
    Par christopheEU dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2008, 09h18
  3. Problème taille d'une table sql server 2005
    Par oadin dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 18/02/2008, 09h12
  4. Alter table Sql server 2005
    Par papawemba dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/01/2008, 23h48
  5. [VBA]Inséré un dataset dans une table sql Server 2005
    Par Yotho dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/05/2007, 17h17

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