utilisation d'une variable comme nom de colonne
bonjour,
Je suis en train d'écrire une procédure pour remplacer les valeurs null dans une table, à partir de champs d'une autre table, ayant en commun l'identifiant (l'adresse mail ) comme les autres champs doivent rester différent si les valeurs ne correspondent pas, je fais une procédure qui colonne après colonne, va faire un update.
j'ai donc (extrait )
Code:
1 2 3 4 5 6 7 8 9 10
|
DECLARE @colonne varchar(64)
DECLARE curseurVariables CURSOR FOR SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'enews'
OPEN curseurVariables
FETCH curseurVariables INTO @colonne
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @colonne
UPDATE FROM table1 @colonne= table2.@colonne from table2 where... |
et là c'est le drame, j'ai pas fait de test mais ca me parait gros comme une maison que ca ne marchera pas.
Est ce que cette ecriture pourrait passer ? Une idée pour remplacer ?