Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
Stephanie Gicquel-Moreau a écrit :
Bonjour,
je souhaite créer une procédure stockée dans laquelle le nom de la table est une variable
CREATE PROCEDURE dbo.test ( @NomTable varchar(255) ) AS SELECT * FROM @NomTable GO
mais j'ai systématiquement une Erreur 137 : La variable @NomTable varchar doit être déclarée.
Je ne comprends pas cette erreur ? Est-il possible de mettre en variable le nom d'une table dans une instruction SELECT ?
non !! c'est d'ailleurs prévue dans la version 2008 est c'est à mon sens une abération !!!
En effet est-ce logique en programmtion standard (VB, C#, C++, Delphi ou autre que le nom d'une procédure ou d'une variable soit elle même une variable ???
En revanche ce que vous pouvez faire c'est du SQL dynamique.
A +
Merci d'avance
Stéphanie Gicquel-Moreau
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
Stephanie Gicquel-Moreau a écrit :
Bonjour,
je souhaite créer une procédure stockée dans laquelle le nom de la table est
une variable
CREATE PROCEDURE dbo.test
(
@NomTable varchar(255)
)
AS
SELECT *
FROM @NomTable
GO
mais j'ai systématiquement une Erreur 137 : La variable @NomTable varchar
doit être déclarée.
Je ne comprends pas cette erreur ? Est-il possible de mettre en variable le
nom d'une table dans une instruction SELECT ?
non !! c'est d'ailleurs prévue dans la version 2008 est c'est à mon sens
une abération !!!
En effet est-ce logique en programmtion standard (VB, C#, C++, Delphi ou
autre que le nom d'une procédure ou d'une variable soit elle même une
variable ???
En revanche ce que vous pouvez faire c'est du SQL dynamique.
A +
Merci d'avance
Stéphanie Gicquel-Moreau
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
je souhaite créer une procédure stockée dans laquelle le nom de la table est une variable
CREATE PROCEDURE dbo.test ( @NomTable varchar(255) ) AS SELECT * FROM @NomTable GO
mais j'ai systématiquement une Erreur 137 : La variable @NomTable varchar doit être déclarée.
Je ne comprends pas cette erreur ? Est-il possible de mettre en variable le nom d'une table dans une instruction SELECT ?
non !! c'est d'ailleurs prévue dans la version 2008 est c'est à mon sens une abération !!!
En effet est-ce logique en programmtion standard (VB, C#, C++, Delphi ou autre que le nom d'une procédure ou d'une variable soit elle même une variable ???
En revanche ce que vous pouvez faire c'est du SQL dynamique.
A +
Merci d'avance
Stéphanie Gicquel-Moreau
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************