Quelqu'un peut il me dire si la syntaxe est bonne ...
je me retrouve dans une boucle sans fin à chaque fois que je l'éxécute ...PLEASE HELP ...merci
If Exists ( select * from sysobjects where type = ¨P' and name = 'SP_UPD_ANOMALIE_HIST'
Begin
Drop Proc SP_UPD_ANOMALIE_HIST
End
Create Procedure SPUPDANOMALIEHIST(@oldversion varchar(20), @newversion varchar(20)) as
Begin
declare curseur_anomalie_hist cursor for
select
NOSEQ,
NOVERCO,
MULTIBGVRS
from ANOMALIEHIST
declare @noseq numeric(4)
declare @noverco numeric(3)
declare @multibg varchar(255)
open curseuranomaliehist
fetch curseuranomaliehist into @noseq, @noverco,
@multibg
if (@@sqlstatus = 2)
Begin
Return 1
End
While (@@sqlstatus = 0)
Begin
update ANOMALIEHIST
set MULTIBGVRS = ( select stuff(( select MULTIBGVRS
from ANOMALIEHIST
where NOSEQ = @noseq and
NOVERCO = @noverco),
( select patindex ('%' + @oldversion + '%',MULTIBGVRS)
from ANOMALIEHIST
where NOSEQ = @noseq and NOVERCO = @noverco),
charlength(@oldversion),
@newversion))
End
close curseuranomaliehist
Return 1
End
Je veux donc pour chaque champ de la colonne MULTIBGVRS que si on trouve la chaine @oldversion, on la remplace par @newversion et on passe a la ligne suivante.
Merci pour votre aide !!!
[jfdsdjhfuetppo]--Message édité par paranoidandroid le 22-05-2002 à 12:55:31--[/jfdsdjhfuetppo]