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 :

Faire passer une table en paramètre pour une procedure


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut Faire passer une table en paramètre pour une procedure
    Bonjour à tous,

    J'ai un problème... j'aimerais passer un paramètre a ma procédure qui serait une table.

    CREATE PROCEDURE essai
    @table varchar(20
    AS
    select * from @table
    GO

    j'ai une erreur comme quoi la var @table n'est pas déclarée

    Merci pour votre aide...

  2. #2
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    Bonjour et bienvenu (A lire avant de poster)

    Pour ta question, il faut faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE PROCEDURE essai
    @table varchar(20)
    AS
    DECLARE LESQL varchar(8000)
    SET LESQL = 'select * from ' + @table
    EXEC(LESQL)
    GO
    Bon courage !

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut j'ai tjrs un prob...
    En fait j'avais trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE PROCEDURE essai
    @table varchar(20)
    AS
    DECLARE 
    @MyTable NVARCHAR(100)
    SET @MyTable = 'select * from ' + @table
    execute sp_executesql @MyTable
    GO
    mais c'est pcq je me demandais si il n'y avait pas de type pour les tables ou quoi, car je n'arrive pas à utiliser la table que je veux pour faire un curseur... aurais-tu une idée?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECLARE curseur1 CURSOR FOR SELECT column FROM ?@MyTable?
    il me dit que ma MyTable dois etre déclarée hor s elle y est

  4. #4
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Par défaut J'ai trouvé la solution, merci
    J'ai trouvé la solution, merci

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

Discussions similaires

  1. [MySQL-5.1] Passer le nom d'une table en paramètre d'une procédure
    Par boubanet dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 08/06/2014, 18h06
  2. [Modèle Relationnel] Faire une table par type ou une table des types ?
    Par jax54000 dans le forum Schéma
    Réponses: 12
    Dernier message: 18/11/2009, 11h43
  3. Réponses: 2
    Dernier message: 30/12/2007, 15h31
  4. Réponses: 2
    Dernier message: 03/12/2006, 12h37
  5. Passage d'une table en paramètre d'une fonction
    Par Noir-Bizarre dans le forum 4D
    Réponses: 2
    Dernier message: 03/08/2006, 13h56

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