[transact SQL] probleme d'update d'une table
Bonjour j'utilise trasact SQL pour synchroniser 2 bases, une en SQL server et l'autre sous mysql
J'ai crée une procedure qui update une valeur de type var char dans sql serveur dans une colonne de type varchar dans une colonne mysql.
Malheureusement, lorsque j'excute la procedure, j'obtiens l'erreur suivante :
ligne 1 : syntaxe incorrecte vers 'Horizontale'
La ligne incriminée dans sql serveur est la suivante :
"Etui Horizontal noir pince + passant Taille Small (5200/5610...)"
La procedure stocké est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| CREATE PROCEDURE Syncro_designation AS
SET NOCOUNT ON
BEGIN
DECLARE @IdProduit INTEGER
DECLARE @Designation VARCHAR(100)
DECLARE @command VARCHAR(1000)
DECLARE FOURNISSEURS CURSOR FOR
select id_produit,AR_Design AS Designation from OPENQUERY(web,'select id_produit,sage_ref1, sage_ref2 from produit'),F_ARTICLE where (sage_ref1=AR_Ref) AND (dateDiff(hh,AR_DateModif,getdate())<48 ) AND (AR_sommeil <>1) AND id_produit=3648
OPEN FOURNISSEURS
FETCH NEXT FROM FOURNISSEURS INTO @IdProduit,@Designation
WHILE @@FETCH_STATUS = 0
BEGIN
SET @command='update OPENQUERY(web,"select * from produit") set description=' + @Designation + ' where id_produit=' + CAST(@IdProduit as VARCHAR(10))
EXEC (@command)
FETCH NEXT FROM FOURNISSEURS INTO @IdProduit,@Designation
END
CLOSE FOURNISSEURS
DEALLOCATE FOURNISSEURS
END
GO |
Bizarement lorsque je change la variable @designation par le texte :
"Etui Horizontal noir pince + passant Taille Small (5200/5610...)"
cela marche parfaitement
Aurais je oublié qq chose?
Merci encore pour votre aide et longue à ce merveilleux site.
Alex