Bonjour à tous,

Je débute en SGBD et je suis confronté à un problème qui me bloque. En effet je n’arrive pas à passer le nom de la table en variable lors de requête SQL.

Exemple 1

declare @nom_table varchar(255)
declare @valeur1 int
set @nom_table varchar = 'test'
insert @nom_table varchar (colonne1) values (@valeur1)
Ms SQL m’indique que @nom_table n’est pas déclaré

Exemple 2

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
declare @nom_table varchar(255)
declare @valeur1 int
set @nom_table varchar = 'test'
exec('Insert '+@nom_table varchar+'(colonne1) values ('+@valeur1+')')
cette fois c’est @valeur1 qui n’est pas déclaré. La commande exec fonctionne lorsque j’utilise une chaîne de caractère plus une variable, exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
exec('drop table '+@nom_table)
Voila où j’en suis dans mon investigation, si vous avez des idées, des remarques n’hésitez pas à en faire part.


Merci d’avance

Nicolas