Problème d'utilisation de la clause CURRENT OF

Le
KOUASSI Yao-Koffi
Salut !
Je suis en train de migrer une application de Centura
SQLBase 7.5.1 sous SQL Server et je viens de tomber sur un
problme d'utilisation de la clause CURRENT OF lors d'une
mise jour.

Sous SQLBase de centura, pour utiliser cette clause, il
faut procder comme suit :
1- Il faut tout d'abord disposer de deux (2) curseurs :
un curseur CUR1, associ une requte de type SELECT
un curseur CUR2, associ la requte de type UPDATE
2- Ensuite, il faut nommer le curseur CUR1, excuter la
requte de type SELECT, puis se positionner sur la ligne
mettre jour
3- Enfin, la requte de mise jour associe au curseur
CUR2 peut tre excute, et elle mettra jour la ligne
sur laquelle est positionn le curseur CUR1.

Sous SQL Server, Ce cheminement ne marche pas. J'ai
l'impression que le nom que j'ai spcifi pour le curseur
CUR1 ne peut pas tre contenue dans la clause UPDATE
associe au curseur CUR2. Ai-je raison et si non, comment
puis-je pour contourner ce problme ?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11720141
un seul curseur ouvert FOR UPDATE.

Au cours du traitement faire un UPDATE en ajoutant la clause WHERE
CURRENT OF

A +

KOUASSI Yao-Koffi a écrit:
Salut !
Je suis en train de migrer une application de Centura
SQLBase 7.5.1 sous SQL Server et je viens de tomber sur un
problème d'utilisation de la clause CURRENT OF lors d'une
mise à jour.

Sous SQLBase de centura, pour utiliser cette clause, il
faut procéder comme suit :
1- Il faut tout d'abord disposer de deux (2) curseurs :
un curseur CUR1, associé à une requête de type SELECT
un curseur CUR2, associé à la requête de type UPDATE
2- Ensuite, il faut nommer le curseur CUR1, exécuter la
requête de type SELECT, puis se positionner sur la ligne à
mettre à jour
3- Enfin, la requête de mise à jour associée au curseur
CUR2 peut être exécutée, et elle mettra à jour la ligne
sur laquelle est positionné le curseur CUR1.

Sous SQL Server, Ce cheminement ne marche pas. J'ai
l'impression que le nom que j'ai spécifié pour le curseur
CUR1 ne peut pas être contenue dans la clause UPDATE
associée au curseur CUR2. Ai-je raison et si non, comment
puis-je pour contourner ce problème ?



--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Publicité
Poster une réponse
Anonyme