OVH Cloud OVH Cloud

Curseur

1 réponse
Avatar
jpl
Dans une proc=E9dure stock=E9e, je construit une cha=EEne SQL de=20
fa=E7on dynamique, la condition WHERE pouvant porter sur un=20
=E0 n crit=E8res :
SET @SQLString =3D 'SELECT * FROM TBLVARIETE' + @WHERE + '=20
ORDER BY CODEESPECE, NUMCLONE'
Ma question : comment utiliser cette cha=EEne pour cr=E9er un=20
curseur ?=20
SET @fiche_cursor =3D CURSOR LOCAL SCROLL STATIC SCROLL_LOCKS
FOR=20
SELECT...
OPEN @fiche_cursor

En vous remer=E7iant d'avance pour toute piste de recherche

1 réponse

Avatar
nicogtturbo2
la solution, c'est de mettre ton curseur dans une variable
sous forme d'une chaine de caractere, comme pour ta
requete. et de l'executer a la fin.
ca devrais te donner un truc de ce genre la :

SET @SQLString = 'SELECT * FROM TBLVARIETE' + @WHERE + '
ORDER BY CODEESPECE, NUMCLONE'

set @mon_cursor = '
declare @fiche_cursor cursor
for ' + @SQLString + '
OPEN @fiche_cursor
......'

exec(@mon_cursor)

A+

-----Message d'origine-----
Dans une procédure stockée, je construit une chaîne SQL


de
façon dynamique, la condition WHERE pouvant porter sur un
à n critères :
SET @SQLString = 'SELECT * FROM TBLVARIETE' + @WHERE + '
ORDER BY CODEESPECE, NUMCLONE'
Ma question : comment utiliser cette chaîne pour créer un
curseur ?
SET @fiche_cursor = CURSOR LOCAL SCROLL STATIC


SCROLL_LOCKS
FOR
SELECT...
OPEN @fiche_cursor

En vous remerçiant d'avance pour toute piste de recherche
.