[SQL 7] Conversion de mes char en nvarchar
Bonjour,
J'ai une base de données où certains champ sont char. Je dois convertir tous les champs de type char en nvarchar, je pensais executer le script ci-dessous
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
begin transaction
declare migration_char_en_varchar CURSOR
for
SELECT TABLE_NAME,
COLUMN_NAME AS CHAMP,
CHARACTER_MAXIMUM_LENGTH AS LONGUEUR
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
DATA_TYPE LIKE 'CHAR%'
AND TABLE_NAME LIKE 'TMAT%'
ORDER BY TABLE_NAME, ORDINAL_POSITION
open migration_char_en_varchar
declare @TABLE_NAME nvarchar(30)
declare @CHAMP nvarchar(30)
declare @LONGUEUR numeric(5)
fetch next from migration_char_en_varchar into @TABLE_NAME,@CHAMP,@LONGUEUR
while @@fetch_status = 0
begin
alter table @TABLE_NAME alter column @CHAMP nvarchar(@LONGUEUR)
fetch next from migration_char_en_varchar into @TABLE_NAME,@CHAMP,@LONGUEUR
end
CLOSE migration_char_en_varchar
DEALLOCATE migration_char_en_varchar
go
commit |
Mais je me retrouve avec le message suivant
Code:
1 2 3
|
Serveur : Msg 170, Niveau 15, État 1, Ligne 24
Ligne 24 : Syntaxe incorrecte vers '@TABLE_NAME'. |
Je ne comprends d'où peut venir l'erreur :cry:
quelqu'un aurait il une idée ?
Merci pour vos réponses