Bonjour,
Je dois mettre à jour des tables, j'ai utilisé des curseurs pour le faire voici le code:
et voici le résultat :
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
35
36
37
38
39
40
41
42
43
44
45
46
47 DECLARE @tables_a_traiter CHAR(10) DECLARE @champ_a_traiter VARCHAR(50) DECLARE @chaine_a_chercher VARCHAR(10) DECLARE @chaine_de_remplacement VARCHAR(10) DECLARE @requete varchar(200) DECLARE Cursor_tables_a_traiter CURSOR FOR SELECT Table_,Champ FROM travail..Accent_champ$ OPEN Cursor_tables_a_traiter FETCH NEXT FROM Cursor_tables_a_traiter INTO @tables_a_traiter, @champ_a_traiter WHILE(@@FETCH_STATUS = 0) BEGIN DECLARE Cursor_Caracteres_a_traiter CURSOR FOR SELECT OldCarac,NewCarac FROM travail..Accent_caractere$ OPEN Cursor_Caracteres_a_traiter FETCH NEXT FROM Cursor_Caracteres_a_traiter INTO @chaine_a_chercher, @chaine_de_remplacement WHILE(@@FETCH_STATUS = 0) BEGIN set @requete ='' set @requete = 'UPDATE SELL.SYSADM.' + @tables_a_traiter set @requete = @requete + ' SET ' + @champ_a_traiter + ' = REPLACE(' + @champ_a_traiter + ',''' + @chaine_a_chercher + ''''+ ',''' + @chaine_de_remplacement + '''' + ')' print @requete exec @requete FETCH NEXT FROM Cursor_Caracteres_a_traiter INTO @chaine_a_chercher, @chaine_de_remplacement END CLOSE Cursor_Caracteres_a_traiter DEALLOCATE Cursor_Caracteres_a_traiter FETCH NEXT FROM Cursor_tables_a_traiter INTO @tables_a_traiter, @champ_a_traiter END CLOSE Cursor_tables_a_traiter DEALLOCATE Cursor_tables_a_traiter
Le problème est que quand j'exécute ma requete générée, je n'ai aucun problème. Ai-je faux quelque part ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE SELL.SYSADM.hi0 SET titulaire = REPLACE(titulaire,'Þ','è') Serveur*: Msg 911, Niveau 16, État 1, Ligne 32 Impossible de trouver l'entrée dans sysdatabases pour la base de données 'UPDATE SELL'. Aucune entrée ne porte ce nom. Assurez-vous que le nom est correctement saisi.
Partager