Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Deadlock traduccion a mysql

Estas en el tema de Deadlock traduccion a mysql en el foro de Mysql en Foros del Web. HOLA QUE TAL, NECESITO AYUDA, PS EN LA ESCUELA ME DEJARON ENCARGADO ENTREGAR UN EJEMPLO DE DEADLOCK EN MYSQL YA ENCONTRE UN BUEN PROBLEMA..PERO EL ...
  #1 (permalink)  
Antiguo 14/10/2009, 20:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación Deadlock traduccion a mysql

HOLA QUE TAL, NECESITO AYUDA, PS EN LA ESCUELA ME DEJARON ENCARGADO ENTREGAR UN EJEMPLO DE DEADLOCK EN MYSQL

YA ENCONTRE UN BUEN PROBLEMA..PERO EL PROBLEMA ES QUE ESTA EN CODIGO SQLSERVER Y NO HE PODIDO TRADUCIRLO...ALGUIEN ME LO PODRIA TRADUCIR A MYSQL? DE VERDAD ME URGE MUCHO...MUCHISIMAS GRACIAS DE ANTEMANO

Transaction A

BEGIN TRANSACTION

UPDATE Customer SET LastName = 'John' WHERE CustomerId=111
WAITFOR DELAY '00:00:05' -- Wait for 5 ms
UPDATE Orders SET CustomerId = 1 WHERE OrderId = 221

COMMIT TRANSACTION
.................................................. ..........................................
Transaction B


BEGIN TRANSACTION

UPDATE Orders SET ShippingId = 12 WHERE OrderId = 221
WAITFOR DELAY '00:00:05' -- Wait for 5 ms
UPDATE Customer SET FirstName = 'Mike' WHERE CustomerId=111

COMMIT TRANSACTION
.................................................. .................................................. ....

2DA PARTE
Transaction A
Collapse

RETRY: -- Label RETRY
BEGIN TRANSACTION
BEGIN TRY

UPDATE Customer SET LastName = 'John' WHERE CustomerId=111
WAITFOR DELAY '00:00:05' -- Wait for 5 ms
UPDATE Orders SET CustomerId = 1 WHERE OrderId = 221

COMMIT TRANSACTION
END TRY
BEGIN CATCH
PRINT 'Rollback Transaction'
ROLLBACK TRANSACTION
IF ERROR_NUMBER() = 1205 -- Deadlock Error Number
BEGIN
WAITFOR DELAY '00:00:00.05' -- Wait for 5 ms
GOTO RETRY -- Go to Label RETRY
END
END CATCH
.................................................. .................................................. ....................
Transaction B
Collapse

RETRY: -- Label RETRY
BEGIN TRANSACTION
BEGIN TRY
UPDATE Orders SET ShippingId = 12 Where OrderId = 221
WAITFOR DELAY '00:00:05' -- Wait for 5 ms
UPDATE Customer SET FirstName = 'Mike' WHERE CustomerId=111

COMMIT TRANSACTION
END TRY
BEGIN CATCH
PRINT 'Rollback Transaction'
ROLLBACK TRANSACTION
IF ERROR_NUMBER() = 1205 -- Deadlock Error Number
BEGIN
WAITFOR DELAY '00:00:00.05' -- Wait for 5 ms
GOTO RETRY -- Go to Label RETRY
END
END CATCH

DE VERDAD LO NECESITO MUCHO..AYUDA PORFAVOR..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:17.