
25/10/2004, 12:16
|
| | Fecha de Ingreso: noviembre-2003
Mensajes: 38
Antigüedad: 21 años, 4 meses Puntos: 0 | |
Hola! Gracias a todos por participar!
Comparto con ustedes la investigacion que acabo de hacer:
USE pubs
GO
DECLARE @del_error int, @ins_error int, @valor char(100)
-- Comienza la transaccion
BEGIN TRAN
-- Comando Delete
DELETE authors
WHERE au_id = '409-56-7088'
-- No da error
SELECT @del_error = @@ERROR
-- Comando Insert
INSERT authors
VALUES('409-56-7008', 'Bennet', 'Abraham', '415 658-9932',
'6223 Bateman St.', 'Berkeley', 'CA', '94705', 1)
-- Ocurre un error, de clave duplicada
SELECT @ins_error = @@ERROR
-- Comprueba si existen errores
IF @del_error = 0 AND @ins_error = 0
BEGIN
IF @@ROWCOUNT = 0
SET @valor = 'No Actualizo Ningun Registro'
ELSE
SET @valor = 'La Informacion del Autor ha sido Reemplazada'
PRINT @valor
COMMIT TRAN
END
ELSE
BEGIN
/*
DECLARE @descrip as varchar(250)
SET @descrip = (SELECT description FROM master.dbo.sysmessages WHERE error=@del_error)
RAISERROR ('Error Numero:%d , Descripcion:%ls',16, 1, @ins_error,@descrip) WITH NOWAIT, SETERROR
*/
IF @del_error <> 0
SET @valor = 'Ha Ocurrido un Error durante la ejecucion del DELETE!'
PRINT @valor
IF @ins_error <> 0
SET @valor = 'Ha Ocurrido un Error durante la ejecucion del INSERT!'
PRINT @valor
ROLLBACK TRAN
END
GO
Esta bueno, me sirve! gracias por su apoyo. Que bueno es compartir el conocimiento!
Atte: Usecas |