OVH Cloud OVH Cloud

Instruction SELECT d'un Curseur

3 réponses
Avatar
Nico44
Bonjour à toutes et à tous,

Dans une Proc, j'ai créé une instruction SELECT dans une variable qui
s'appelle @InstrSelect

Je souhaite me servir de cette variable pour déclarer l'instruction SELECT
d'un curseur, à savoir quelque chose du genre :
DECLARE myCursor CURSOR FOR @InstrSelect

Le compilateur me retourne que la syntaxe est incorrecte.

Est-il possible d'utiliser une variable pour déclarer l'instruction SELECT
d'un curseur?
Sinon, y-a-t'il des alternatives?

Merci d'avance pour vos réponses...

3 réponses

Avatar
Fred BROUARD
Nico44 a écrit:
Bonjour à toutes et à tous,

Dans une Proc, j'ai créé une instruction SELECT dans une variable qui
s'appelle @InstrSelect

Je souhaite me servir de cette variable pour déclarer l'instruction SELECT
d'un curseur, à savoir quelque chose du genre :
DECLARE myCursor CURSOR FOR @InstrSelect

Le compilateur me retourne que la syntaxe est incorrecte.

Est-il possible d'utiliser une variable pour déclarer l'instruction SELECT
d'un curseur?



NON

Sinon, y-a-t'il des alternatives?



Oui, faire du SQL dynamique, mais pas très performant...

Merci d'avance pour vos réponses...




Mais en pratique 90% des curseurs peuvent être évités !
Explique ton problème en détail et pourquoi tu en est arrivé à tenter de faire
un curseur paramétré. Avec la description de tes tables sous forme de CREATE
nous pourrons probablement te donner le code pour traiter ton problème...

A +





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Nico44
"Fred BROUARD" a écrit :

Mais en pratique 90% des curseurs peuvent être évités !
Explique ton problème en détail et pourquoi tu en est arrivé à tenter de faire
un curseur paramétré. Avec la description de tes tables sous forme de CREATE
nous pourrons probablement te donner le code pour traiter ton problème...




Merci beaucoup de cette proposition, mais ta réponse m'a déjà beaucoup aidé.
Je suis en effet allé sur le site http://sqlpro.developpez.com et j'ai
réussi à trouver comment me passer de mon curseur (je passe par une table
temporaire...)

Encore merci
A+
Avatar
Fred BROUARD
Nico44 a écrit:

"Fred BROUARD" a écrit :


Mais en pratique 90% des curseurs peuvent être évités !
Explique ton problème en détail et pourquoi tu en est arrivé à tenter de faire
un curseur paramétré. Avec la description de tes tables sous forme de CREATE
nous pourrons probablement te donner le code pour traiter ton problème...





Merci beaucoup de cette proposition, mais ta réponse m'a déjà beaucoup aidé.
Je suis en effet allé sur le site http://sqlpro.developpez.com et j'ai
réussi à trouver comment me passer de mon curseur (je passe par une table
temporaire...)



C'est pas le mieux. Tu peut peut être faire en une seule requête !

A +


Encore merci
A+



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************