SQL Server 2000 - Procédure stockée - Erreur 137

Le
Stephanie Gicquel-Moreau
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 ?

Merci d'avance

Stéphanie Gicquel-Moreau
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11883941
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 *************************
Publicité
Poster une réponse
Anonyme