Salut !
Je suis en train de migrer une application de Centura=20
SQLBase 7.5.1 sous SQL Server et je viens de tomber sur un=20
probl=E8me d'utilisation de la clause CURRENT OF lors d'une=20
mise =E0 jour.
Sous SQLBase de centura, pour utiliser cette clause, il=20
faut proc=E9der comme suit :
1- Il faut tout d'abord disposer de deux (2) curseurs :=20
un curseur CUR1, associ=E9 =E0 une requ=EAte de type SELECT
un curseur CUR2, associ=E9 =E0 la requ=EAte de type UPDATE
2- Ensuite, il faut nommer le curseur CUR1, ex=E9cuter la=20
requ=EAte de type SELECT, puis se positionner sur la ligne =E0=20
mettre =E0 jour
3- Enfin, la requ=EAte de mise =E0 jour associ=E9e au curseur=20
CUR2 peut =EAtre ex=E9cut=E9e, et elle mettra =E0 jour la ligne=20
sur laquelle est positionn=E9 le curseur CUR1.
Sous SQL Server, Ce cheminement ne marche pas. J'ai=20
l'impression que le nom que j'ai sp=E9cifi=E9 pour le curseur=20
CUR1 ne peut pas =EAtre contenue dans la clause UPDATE=20
associ=E9e au curseur CUR2. Ai-je raison et si non, comment=20
puis-je pour contourner ce probl=E8me ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
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: ******************
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:brouardf@club-internet.fr ******************
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: ******************