Nom de table en paramètre
Bonjour,
Je veux rendre une requête SQL paramètrable. Pour cela j'ai déclaré une variable mais si la variable est sur la valeur d'une condition where cela fonctionne mais pas si c'est le nom de la table.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
DECLARE @annee int ,@nom_table varchar(100)
SET @annee=2013
SET @nom_table='[prod_evt].[detail_' + STR(@annee,4) + '_sat]'
select * from [prod_evt].[detail_2013_sat] where [année période]=@annee
-- OK
select * from @nom_table where [année période]=@annee
-- KO
-- Must declare the table variable "@nom_table". |
Pourquoi ?
Je voudrais éviter de passer par un exec ( ... ) parceque la requête est assez lourdre avec plusieurs sql imbriqués.
Ou est mon erreur :calim2: