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.
Pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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".
Je voudrais éviter de passer par un exec ( ... ) parceque la requête est assez lourdre avec plusieurs sql imbriqués.
Ou est mon erreur![]()
Partager