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
Mais je me retrouve avec le message suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Je ne comprends d'où peut venir l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Serveur : Msg 170, Niveau 15, État 1, Ligne 24 Ligne 24 : Syntaxe incorrecte vers '@TABLE_NAME'.![]()
quelqu'un aurait il une idée ?
Merci pour vos réponses
Partager