Il y'a un usager «A » qui fait les commandes suivantes :
-------------------------------------------
BEGIN TRANSACTION
UPDATE COMMANDE
SET STATUT = 200
WHERE JOB = 1
-- Liste d'instruction à exécuter (1 à 2 minutes d'exécution)
COMMIT TRANSACTION
--------------------------------------------
En même temps il y a l'usager «B» qui fait la commande suivante :
--------------------------------------------
SELECT *
FROM COMMANDE
WHERE JOB = 1
--------------------------------------------
A l'exécution de cette commande l'usager B est en attende de l'usager «A».
J'aimerais savoir si c'est possible que l'usager «B» soit capable de faire
un SELECT quand même?
J'aimerais savoir si c'est possible que l'usager «B» exécute sont SELECT
mais avec la valeur d'origine puisque l'update n'a pas encore eu la commande
COMMIT TRANSACTION?
Il n'est pas possible d'accéder à l'image avant. Juste l'image après avec un NOLOCK
select ... (nolock).
Secret de polichinelle : ça vient avec la prochaine version.
Cordialement, LionelP
"Michel Provost" wrote in message news:
Voici la situation :
Il y'a un usager «A » qui fait les commandes suivantes :
-------------------------------------------
BEGIN TRANSACTION
UPDATE COMMANDE
SET STATUT = 200
WHERE JOB = 1
-- Liste d'instruction à exécuter (1 à 2 minutes d'exécution)
COMMIT TRANSACTION
--------------------------------------------
En même temps il y a l'usager «B» qui fait la commande suivante :
--------------------------------------------
SELECT *
FROM COMMANDE
WHERE JOB = 1
--------------------------------------------
A l'exécution de cette commande l'usager B est en attende de l'usager «A».
J'aimerais savoir si c'est possible que l'usager «B» soit capable de faire un SELECT quand même?
J'aimerais savoir si c'est possible que l'usager «B» exécute sont SELECT mais avec la valeur d'origine puisque l'update n'a pas encore eu la
commande
COMMIT TRANSACTION?
Merci
Michel Provost DBA
Fred BROUARD
tout dépend du niveau d'isolation des transactions.
A lire : http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01 http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html Paragraphe 3.6 Gestion de transactions
A +
Michel Provost a écrit:
Voici la situation :
Il y'a un usager «A » qui fait les commandes suivantes :
-------------------------------------------
BEGIN TRANSACTION
UPDATE COMMANDE
SET STATUT = 200
WHERE JOB = 1
-- Liste d'instruction à exécuter (1 à 2 minutes d'exécution)
COMMIT TRANSACTION
--------------------------------------------
En même temps il y a l'usager «B» qui fait la commande suivante :
--------------------------------------------
SELECT *
FROM COMMANDE
WHERE JOB = 1
--------------------------------------------
A l'exécution de cette commande l'usager B est en attende de l'usager «A».
J'aimerais savoir si c'est possible que l'usager «B» soit capable de faire un SELECT quand même?
J'aimerais savoir si c'est possible que l'usager «B» exécute sont SELECT mais avec la valeur d'origine puisque l'update n'a pas encore eu la commande COMMIT TRANSACTION?
Merci
Michel Provost DBA
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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: ******************
tout dépend du niveau d'isolation des transactions.
A lire :
http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html
Paragraphe 3.6 Gestion de transactions
A +
Michel Provost a écrit:
Voici la situation :
Il y'a un usager «A » qui fait les commandes suivantes :
-------------------------------------------
BEGIN TRANSACTION
UPDATE COMMANDE
SET STATUT = 200
WHERE JOB = 1
-- Liste d'instruction à exécuter (1 à 2 minutes d'exécution)
COMMIT TRANSACTION
--------------------------------------------
En même temps il y a l'usager «B» qui fait la commande suivante :
--------------------------------------------
SELECT *
FROM COMMANDE
WHERE JOB = 1
--------------------------------------------
A l'exécution de cette commande l'usager B est en attende de l'usager «A».
J'aimerais savoir si c'est possible que l'usager «B» soit capable de faire
un SELECT quand même?
J'aimerais savoir si c'est possible que l'usager «B» exécute sont SELECT
mais avec la valeur d'origine puisque l'update n'a pas encore eu la commande
COMMIT TRANSACTION?
Merci
Michel Provost
DBA
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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 ******************
tout dépend du niveau d'isolation des transactions.
A lire : http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01 http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html Paragraphe 3.6 Gestion de transactions
A +
Michel Provost a écrit:
Voici la situation :
Il y'a un usager «A » qui fait les commandes suivantes :
-------------------------------------------
BEGIN TRANSACTION
UPDATE COMMANDE
SET STATUT = 200
WHERE JOB = 1
-- Liste d'instruction à exécuter (1 à 2 minutes d'exécution)
COMMIT TRANSACTION
--------------------------------------------
En même temps il y a l'usager «B» qui fait la commande suivante :
--------------------------------------------
SELECT *
FROM COMMANDE
WHERE JOB = 1
--------------------------------------------
A l'exécution de cette commande l'usager B est en attende de l'usager «A».
J'aimerais savoir si c'est possible que l'usager «B» soit capable de faire un SELECT quand même?
J'aimerais savoir si c'est possible que l'usager «B» exécute sont SELECT mais avec la valeur d'origine puisque l'update n'a pas encore eu la commande COMMIT TRANSACTION?
Merci
Michel Provost DBA
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / 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: ******************