OVH Cloud OVH Cloud

Parcours des lignes de table dans une PS ?

3 réponses
Avatar
To
Bonjour à tous.
J'aimerai savoir si il est possible de créer une procédure stockée prenant
en paramètre un nom de table et dans laquelle on parcourerait toutes les
lignes de cette table à l'aide d'un curseur. J'ai rapidement essayé de me
créer une variable ed type table afin de récupérer le résultat d'un "exec",
mais sans succès...

Merci d'avance pour toute information.

Thibaut

3 réponses

Avatar
Patrice
Il serait possible d'ouvrir le curseur dans une SP et de passer cette
variable.
Sinon on retombe dans du code SQL dynamique ce qui à priori diminue
fortement l'intérêt de passer par une SP.

De quel genre de traitement s'agit-il ?

--
Patrice

"To" a écrit dans le message de
news:dajire$1im$
Bonjour à tous.
J'aimerai savoir si il est possible de créer une procédure stockée prenant
en paramètre un nom de table et dans laquelle on parcourerait toutes les
lignes de cette table à l'aide d'un curseur. J'ai rapidement essayé de me
créer une variable ed type table afin de récupérer le résultat d'un


"exec",
mais sans succès...

Merci d'avance pour toute information.

Thibaut




Avatar
Sébastien GROSBOIS \(Microsoft France\)
Bonjour,

Il n'est pas possible paramètrer une table dans une requête (c'est vrai sur
SQL et sur tout autre moteur).
Ex : SELECT * FROM @MATABLE.

Seule alternative du SQL dynamique via EXECUTE ou plus idéalement
sp_executesql.

Remarque : Dans la mesure ou la table devrait changer à chacune de vos
requêtes il y a peut de chance que le moteur réutilisant un plan d'excution
en cache.

Cordialement



"To" wrote in message news:dajire$1im$
Bonjour à tous.
J'aimerai savoir si il est possible de créer une procédure stockée prenant
en paramètre un nom de table et dans laquelle on parcourerait toutes les
lignes de cette table à l'aide d'un curseur. J'ai rapidement essayé de me
créer une variable ed type table afin de récupérer le résultat d'un
"exec",
mais sans succès...

Merci d'avance pour toute information.

Thibaut



Avatar
To
Oui j'ai finis par utiliser des exec et m'en sortir avec.
Merci pour vos reponses!!

"Sébastien GROSBOIS (Microsoft France)" a
écrit dans le message de news: uuhi%
Bonjour,

Il n'est pas possible paramètrer une table dans une requête (c'est vrai
sur SQL et sur tout autre moteur).
Ex : SELECT * FROM @MATABLE.

Seule alternative du SQL dynamique via EXECUTE ou plus idéalement
sp_executesql.

Remarque : Dans la mesure ou la table devrait changer à chacune de vos
requêtes il y a peut de chance que le moteur réutilisant un plan
d'excution en cache.

Cordialement



"To" wrote in message news:dajire$1im$
Bonjour à tous.
J'aimerai savoir si il est possible de créer une procédure stockée
prenant
en paramètre un nom de table et dans laquelle on parcourerait toutes les
lignes de cette table à l'aide d'un curseur. J'ai rapidement essayé de me
créer une variable ed type table afin de récupérer le résultat d'un
"exec",
mais sans succès...

Merci d'avance pour toute information.

Thibaut