Bonjours à tous,

J'ai créé une procédure stockée qui travail sur une table dont le nom est définit lors de l'execution de cette procédure:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SET @Table_Name = 'TrendValue_' + CAST(@IDTrend AS nvarchar);
Ensuite pour faire des SELECT/INSERT/UPDATE/etc, je dois utiliser la clause EXECUTE en faisant une concaténation:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
EXECUTE ('INSERT INTO ' + @Table_Name + ' (dtEvent, iPeriod, rValue) 
VALUES (''' + @dtEvent + ''',2,' + @rHourValue + ')');
Il n'est pas possible de faire sans EXECUTE ?
Par exemple ainsi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
INSERT INTO @Table_Name (dtEvent, iPeriod, rValue) 
VALUES (@dtEvent, 1, @rMinuteValue);
>> Ce code ne marche pas ! SQL Server veut que Table_Name soit du type 'Table' alors que dans mon cas, c'est un varchar qui contient le nom de la table...

Merci pour votre aide !
Raoul