Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 15-abr-2002, 06:58   #1 (permalink)
Rakel está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1
Errores SQL

Estoy utilizando SQL Server 2000. Me gustaría saber como conseguir que un procedimiento almacenado no detenga su ejecución al producirse un error en, por ejemplo, una inserción, y que el código de dicho error se retorne en la variable @@ERROR
Gracias!!!

Rakel está desconectado   Responder Citando
Antiguo 17-abr-2002, 08:38   #2 (permalink)
eskillar está en el buen camino
 
Avatar de eskillar
 
Fecha de Ingreso: noviembre-2002
Ubicación: Euskadi
Mensajes: 34
Re: Errores SQL

Hola Rakel,

puedes tratar la sentencia que te da problemas como una transacción, es decir un bloque de código cuya ejecución se debe realizar de un modo completo, descartandose la misma en caso de que haya algún problema (errores en los parámetros recibidos o intento de acceder a un mismo conjunto de registros por parte de dos aplicaciones en una plataforma cliente-servidor).

Hay tienes un sencillo ejemplo de su manejo, aunque puedes consultar en la ayuda del TRANSACT SQL las instrucciones concretas. Sino vuelve a preguntar.

Salu2 y suerte ;)
Diego


CREATE PROCEDURE MiProcedimiento
@param1 varchar(32),
@param2 varchar(32)
AS

begin transaction
-- iniciamos el bloque

insert into miTabla (campo1,campo2) select @param1, @param2
if @@error <>0 goto canc_tr

commit transaction
-- confirmamos la transacción (se ejecutará si no se han producido errores)
goto terminar

canc_tr:
rollrollback transaction
-- descartamos los cambios
select @@error

terminar:
GO

eskillar está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:50.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93