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 :

SQL dynamique et clause WITH


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut SQL dynamique et clause WITH
    Bonjour,

    j'ai une procédure stockée qui prend en paramètres le nom de plusieurs tables. Je dois effectuer beaucoup d'opérations sur ces tables. Je voudrais éviter d'avoir à créer toutes mes requêtes sous forme de chaînes de caractères et de les exécuter avec EXEC (). Est-ce possible?

    Par ailleurs, j'utilise la fonction WITH pour récupérer tous les éléments d'une hiérarchie. Le problème est que je ne peux pas l'utiliser avec la fonction EXEC(). Donc je ne peux pas m'orienter vers la solution EXEC().

    Je fais référence à des tables qui ont toujours la même structure mais avec un nom différent. Est-il possible d'utiliser des alias ou des synonymes par exemple.

    merci pour vos conseils,

    Romu

  2. #2
    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,

    Le problème est que je ne peux pas l'utiliser avec la fonction EXEC()
    Je ne vois pas ce qui vous en empêche.
    Cependant vous pourriez utiliser la procédure stockée sp_executeSQL.

    Est-il possible d'utiliser des alias ou des synonymes par exemple.
    Oui mais cela est contre-performant, puisque vous demandez implicitement à SQL Server de trouver le nom de la table pour vous.

    @++

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut
    Merci je vais essayer avec la procédure sp_executeSQL. J'ai essayé avec la fonction EXEC() mais j'ai systématiquement une erreur.

    Autre chose concernant la clause WITH, visiblement on ne peut utiliser la hiérarchie générée que dans la requête suivante. Si une autre requête a besoin de cette clause il faut réecrire cette clause WITH.

    merci pour votre aide!

    RoOmu

  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 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
    Rien ne vous empêche de faire des vues, voire des tables temporaires globales....

    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. Réponses: 1
    Dernier message: 16/10/2007, 17h58
  2. [PL/SQL] curseur et clause WITH
    Par ljoly dans le forum Oracle
    Réponses: 6
    Dernier message: 24/01/2006, 14h26
  3. SQL dynamique : pb de syntaxe
    Par Pasiphae dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/08/2004, 16h50
  4. SQL dynamique
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/08/2004, 10h18
  5. SQL Dynamique - Materialized view
    Par Simeans2004 dans le forum SQL
    Réponses: 15
    Dernier message: 10/06/2004, 17h56

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