> Le Thu, 18 Sep 2008 13:17:22 +0200, Yannick a écrit:
Le Thu, 18 Sep 2008 10:53:53 +0200, Yannick a écrit:
Bonjour
Avec le L4G fourni par PROGRESS, on gère les accès concurrent de la façon suivante :
"find first client EXCLUSIVE-LOCK" -> de cette façon, l'enregistrement client est bloqué en écriture pour les autres sessions
Comment réaliser cela avec le langage SQL ?
Merci pour vos réponses Yannick
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ?
puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Romain PETIT
Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ? puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on valide par un COMMIT ou annule par un ROLLBACK. http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est
verrouillé (ou inexistant bien sûr) ?
puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on
valide par un COMMIT ou annule par un ROLLBACK.
http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ? puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on valide par un COMMIT ou annule par un ROLLBACK. http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Firetox
Bonjour,
uen transaction en bloc pas forcement la ligne (du moins ne specifie pas forcement que la ligne est bloqué) et cela depend surtout de l'isolation des transacations
mais je ne connais pas progress de toute façon je pense que vous passez par ODBC mais apres quelque recherches je n'ai pas trouvé de syntaxe SQL pour progress (ca a l'ai nebuleux comme produit : pas de doc si la base est attable en SQL et quel syntaxe est accpetée)
Bon dev @+
Firetox
"Romain PETIT" a écrit dans le message de news:
Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ? puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on valide par un COMMIT ou annule par un ROLLBACK. http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Bonjour,
uen transaction en bloc pas forcement la ligne (du moins ne specifie pas
forcement que la ligne est bloqué)
et cela depend surtout de l'isolation des transacations
mais je ne connais pas progress de toute façon je pense que vous passez par
ODBC mais apres quelque recherches je n'ai pas trouvé de syntaxe SQL pour
progress (ca a l'ai nebuleux comme produit : pas de doc si la base est
attable en SQL et quel syntaxe est accpetée)
Bon dev
@+
Firetox
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de news:
mn.935a7d89c6f8be24.2248@Signature.fin...
Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...]
[nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est
verrouillé (ou inexistant bien sûr) ?
puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on
valide par un COMMIT ou annule par un ROLLBACK.
http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
uen transaction en bloc pas forcement la ligne (du moins ne specifie pas forcement que la ligne est bloqué) et cela depend surtout de l'isolation des transacations
mais je ne connais pas progress de toute façon je pense que vous passez par ODBC mais apres quelque recherches je n'ai pas trouvé de syntaxe SQL pour progress (ca a l'ai nebuleux comme produit : pas de doc si la base est attable en SQL et quel syntaxe est accpetée)
Bon dev @+
Firetox
"Romain PETIT" a écrit dans le message de news:
Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ? puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on valide par un COMMIT ou annule par un ROLLBACK. http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Yannick
> Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ? puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on valide par un COMMIT ou annule par un ROLLBACK. http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
Bonjour Romain
Article très intéressant, mais déroutant... Cette gestion de transaction fonctionne "à l'envers" du verrou :
Avec un verrou, une fois posé, l'enregistrement concerné est "acquis", et on peut donc le modifier
Avec cette gestion par transaction, on fait les modif, puis on est obligé de relire le résultat pour voir si un critère est respecté, et défaire cette transaction si ce n'est pas le cas...
ça me semble bien plus compliqué.
> Yannick avait prétendu :
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est
verrouillé (ou inexistant bien sûr) ?
puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on
valide par un COMMIT ou annule par un ROLLBACK.
http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
Bonjour Romain
Article très intéressant, mais déroutant...
Cette gestion de transaction fonctionne "à l'envers" du verrou :
Avec un verrou, une fois posé, l'enregistrement concerné est "acquis",
et on peut donc le modifier
Avec cette gestion par transaction, on fait les modif, puis on est
obligé de relire le résultat pour voir si un critère est respecté, et
défaire cette transaction si ce n'est pas le cas...
En oracle en tout cas : select ... from ... for update [of ...] [nowait]
avec quel instruction du wlangage ? HExécuteRequêteSQL ?
oui , avec hrequetesanscorrection
si HExécuteRequêteSQL sort en erreur, c'est que l'enregistrement est verrouillé (ou inexistant bien sûr) ? puis, pour modifier l'enregistrement, il faut faire un HModifie ?
Je crois qu'en SQL, on travaille de préférence par transaction que l'on valide par un COMMIT ou annule par un ROLLBACK. http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.2
Qu'en disent les utilisateurs des accès alternatifs ?
Bonjour Romain
Article très intéressant, mais déroutant... Cette gestion de transaction fonctionne "à l'envers" du verrou :
Avec un verrou, une fois posé, l'enregistrement concerné est "acquis", et on peut donc le modifier
Avec cette gestion par transaction, on fait les modif, puis on est obligé de relire le résultat pour voir si un critère est respecté, et défaire cette transaction si ce n'est pas le cas...
ça me semble bien plus compliqué.
Yannick
> Bonjour,
uen transaction en bloc pas forcement la ligne (du moins ne specifie pas forcement que la ligne est bloqué) et cela depend surtout de l'isolation des transacations
mais je ne connais pas progress de toute façon je pense que vous passez par ODBC mais apres quelque recherches je n'ai pas trouvé de syntaxe SQL pour progress (ca a l'ai nebuleux comme produit : pas de doc si la base est attable en SQL et quel syntaxe est accpetée)
Bon dev @+
Firetox
La syntaxe donné par JB (pour base oracle) me semble adapté pour Progress (tests en cours)
je passe effectivement par ODBC. J'ai aussi l'accès natif pc-soft pour progress, mais, à priori, on ne peut pas bloquer les enregistrements (contact en cours avec st-pcsoft)
> Bonjour,
uen transaction en bloc pas forcement la ligne (du moins ne specifie pas
forcement que la ligne est bloqué)
et cela depend surtout de l'isolation des transacations
mais je ne connais pas progress de toute façon je pense que vous passez par
ODBC mais apres quelque recherches je n'ai pas trouvé de syntaxe SQL pour
progress (ca a l'ai nebuleux comme produit : pas de doc si la base est
attable en SQL et quel syntaxe est accpetée)
Bon dev
@+
Firetox
La syntaxe donné par JB (pour base oracle) me semble adapté pour
Progress (tests en cours)
je passe effectivement par ODBC. J'ai aussi l'accès natif pc-soft pour
progress, mais, à priori, on ne peut pas bloquer les enregistrements
(contact en cours avec st-pcsoft)
uen transaction en bloc pas forcement la ligne (du moins ne specifie pas forcement que la ligne est bloqué) et cela depend surtout de l'isolation des transacations
mais je ne connais pas progress de toute façon je pense que vous passez par ODBC mais apres quelque recherches je n'ai pas trouvé de syntaxe SQL pour progress (ca a l'ai nebuleux comme produit : pas de doc si la base est attable en SQL et quel syntaxe est accpetée)
Bon dev @+
Firetox
La syntaxe donné par JB (pour base oracle) me semble adapté pour Progress (tests en cours)
je passe effectivement par ODBC. J'ai aussi l'accès natif pc-soft pour progress, mais, à priori, on ne peut pas bloquer les enregistrements (contact en cours avec st-pcsoft)