MENSAJE ERROR - raiserror

21/03/2005 - 18:23 por CCALLOQUISPE PALOMINO | Informe spam
Hola:

Muchas gracias a maxi y miguel egea por haberme contestado en la pregunta de
trigger pero ya conozco la respuesta porque mi trigger se demora mucho, y lo
hace por la sentencia
raiserror('ESTA SENTENCIA SE DEMORA MUCHO',16,1)
no hay una manera de que esta sentencia no se demore mucho.

muchas gracias por su ayuda.
CCALLOQUISPE

Preguntas similare

Leer las respuestas

#1 Maxi
21/03/2005 - 18:50 | Informe spam
Se demora esa sentencia? mmm podrias pasarnos el codigo completo del
trigger? esa sentencia no es la gran causante del problema, lo debes tener
en otro lado


Salu2
Maxi


"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
Hola:

Muchas gracias a maxi y miguel egea por haberme contestado en la pregunta
de
trigger pero ya conozco la respuesta porque mi trigger se demora mucho, y
lo
hace por la sentencia
raiserror('ESTA SENTENCIA SE DEMORA MUCHO',16,1)
no hay una manera de que esta sentencia no se demore mucho.

muchas gracias por su ayuda.
CCALLOQUISPE
Respuesta Responder a este mensaje
#2 CCALLOQUISPE PALOMINO
21/03/2005 - 19:59 | Informe spam
Hola:
Lo que pasa es que yo le he probado con un procedimiento
almacenado y cuando saco esa sentencia y lo reemplazo con un parametro de
salida output la aplicacion se hace mas rapido.
es por eso que he sacado esa conclusion.
la prueba utilice un formularios windows de mantenmiento de
clientes y cuando haci click en el boton grabar y si el dni se repetia en
ese momento se demora bastante la aplicacion haciendo que se parecia como se
hubiese colgado, y eso que estaba usando un trigger con esa sentencia, pero
cambie el trigger por un procedimiento almacenado pensando que el trigger se
demoraba pero igual era, se demora lo mismo entonces cambie el raiserror por
un parametro output en el procedimiento almacenado si en el procedimiento
verificaba que no existia 2 personas con el mismo dni si existia le ponia la
siguiente linea:
set @v_mensaje='el nº de dni ya esta asigando a otra persona'
return
y con esta sentencia la operacion se hace mas rapido.
es necesario utilizar raiserror, pero so yo deseo utilizar un trigger como
le paso el mensaje del error a la aplicacion?

muchas gracias


"Maxi" wrote:

Se demora esa sentencia? mmm podrias pasarnos el codigo completo del
trigger? esa sentencia no es la gran causante del problema, lo debes tener
en otro lado


Salu2
Maxi


"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
> Hola:
>
> Muchas gracias a maxi y miguel egea por haberme contestado en la pregunta
> de
> trigger pero ya conozco la respuesta porque mi trigger se demora mucho, y
> lo
> hace por la sentencia
> raiserror('ESTA SENTENCIA SE DEMORA MUCHO',16,1)
> no hay una manera de que esta sentencia no se demore mucho.
>
> muchas gracias por su ayuda.
> CCALLOQUISPE



Respuesta Responder a este mensaje
#3 Maxi
21/03/2005 - 20:24 | Informe spam
Hola, me podes pasar como has realizado ese procedimiento almacenado?


Salu2
Maxi


"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
Hola:
Lo que pasa es que yo le he probado con un procedimiento
almacenado y cuando saco esa sentencia y lo reemplazo con un parametro de
salida output la aplicacion se hace mas rapido.
es por eso que he sacado esa conclusion.
la prueba utilice un formularios windows de mantenmiento de
clientes y cuando haci click en el boton grabar y si el dni se repetia en
ese momento se demora bastante la aplicacion haciendo que se parecia como
se
hubiese colgado, y eso que estaba usando un trigger con esa sentencia,
pero
cambie el trigger por un procedimiento almacenado pensando que el trigger
se
demoraba pero igual era, se demora lo mismo entonces cambie el raiserror
por
un parametro output en el procedimiento almacenado si en el procedimiento
verificaba que no existia 2 personas con el mismo dni si existia le ponia
la
siguiente linea:
set @v_mensaje='el nº de dni ya esta asigando a otra persona'
return
y con esta sentencia la operacion se hace mas rapido.
es necesario utilizar raiserror, pero so yo deseo utilizar un trigger como
le paso el mensaje del error a la aplicacion?

muchas gracias


"Maxi" wrote:

Se demora esa sentencia? mmm podrias pasarnos el codigo completo del
trigger? esa sentencia no es la gran causante del problema, lo debes
tener
en otro lado


Salu2
Maxi


"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
> Hola:
>
> Muchas gracias a maxi y miguel egea por haberme contestado en la
> pregunta
> de
> trigger pero ya conozco la respuesta porque mi trigger se demora mucho,
> y
> lo
> hace por la sentencia
> raiserror('ESTA SENTENCIA SE DEMORA MUCHO',16,1)
> no hay una manera de que esta sentencia no se demore mucho.
>
> muchas gracias por su ayuda.
> CCALLOQUISPE



Respuesta Responder a este mensaje
#4 CCALLOQUISPE PALOMINO
22/03/2005 - 15:55 | Informe spam
Hola:
Disculpa por no haberte enviado el procedimiento almacenado
es el siguiente:

IF EXISTS (SELECT name FROM sysobjects WHERE name = 'SP_BS_IU_Tsl_Usuario' AND
type = 'P')
DROP PROCEDURE SP_BS_IU_Tsl_Usuario

go

CREATE PROCEDURE SP_BS_IU_Tsl_Usuario

/*

COMENTARIO GENERAL
AUTOR: CCALLOQUISPE PALOMINO RONALD VALENTIN
FECHA CREACION: 17/03/2005
FECHA ACTUALIZACION: 20/03/2005

*/
@C_Empleado varchar(5) output,
@T_Usuario_Login varchar(8),
@T_Usuario_Clave varchar(5),
@S_Usuario_Sesion varchar(1)='V',
@C_TipoUsuario varchar(5),
@v_opcion varchar(1),
@v_mensaje varchar(250)=null output


as

DECLARE @v_cantidad int



select @v_cantidad=count(*)
from tsl_empleado
where C_Empleado=@C_Empleado

IF @v_cantidad=0

BEGIN

raiserror('EL CODIGO DEL EMPLEADO NO EXISTE, SE CANCELO LA OPERACION',16,1)


return

END

IF @v_opcion='1'

BEGIN



select @v_cantidad=count(*)
from tsl_usuario
where C_Empleado=@C_empleado

IF @v_cantidad>0
BEGIN

IF @v_mensaje is null

BEGIN

raiserror('EL EMPLEADO YA ESTA REGISTRADO COMO USUARIO',16,1)

END

ELSE

BEGIN

set @v_mensaje='EL EMPLEADO YA ESTA REGISTRADO COMO USUARIO'

END



return


END
ELSE

BEGIN



insert into Tsl_Usuario
(C_Empleado,T_Usuario_Login,T_Usuario_Clave,S_usuario_Sesion,C_TipoUsuario)
value
(@C_Empleado,@T_Usuario_Login,@T_Usuario_Clave,@S_usuario_Sesion,@C_TipoUsuario)

set @v_mensaje='EL REGISTRO SE HA INSERTADO CORRECTAMENTE'

END

END

IF @v_opcion='2'

BEGIN


update tsl_usuario
set
T_Usuario_Clave=@T_usuario_Clave,
S_Usuario_Sesion=@S_usuario_Sesion,
C_TipoUsuario=@C_TipoUsuario
where C_Empleado=@C_Empleado

set @v_mensaje='EL REGISTRO SE HA ACTUALIZADO CORRECTAMENTE'

END

"Maxi" wrote:

Hola, me podes pasar como has realizado ese procedimiento almacenado?


Salu2
Maxi


"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
> Hola:
> Lo que pasa es que yo le he probado con un procedimiento
> almacenado y cuando saco esa sentencia y lo reemplazo con un parametro de
> salida output la aplicacion se hace mas rapido.
> es por eso que he sacado esa conclusion.
> la prueba utilice un formularios windows de mantenmiento de
> clientes y cuando haci click en el boton grabar y si el dni se repetia en
> ese momento se demora bastante la aplicacion haciendo que se parecia como
> se
> hubiese colgado, y eso que estaba usando un trigger con esa sentencia,
> pero
> cambie el trigger por un procedimiento almacenado pensando que el trigger
> se
> demoraba pero igual era, se demora lo mismo entonces cambie el raiserror
> por
> un parametro output en el procedimiento almacenado si en el procedimiento
> verificaba que no existia 2 personas con el mismo dni si existia le ponia
> la
> siguiente linea:
> set @v_mensaje='el nº de dni ya esta asigando a otra persona'
> return
> y con esta sentencia la operacion se hace mas rapido.
> es necesario utilizar raiserror, pero so yo deseo utilizar un trigger como
> le paso el mensaje del error a la aplicacion?
>
> muchas gracias
>
>
> "Maxi" wrote:
>
>> Se demora esa sentencia? mmm podrias pasarnos el codigo completo del
>> trigger? esa sentencia no es la gran causante del problema, lo debes
>> tener
>> en otro lado
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "CCALLOQUISPE PALOMINO" escribió en el mensaje
>> news:
>> > Hola:
>> >
>> > Muchas gracias a maxi y miguel egea por haberme contestado en la
>> > pregunta
>> > de
>> > trigger pero ya conozco la respuesta porque mi trigger se demora mucho,
>> > y
>> > lo
>> > hace por la sentencia
>> > raiserror('ESTA SENTENCIA SE DEMORA MUCHO',16,1)
>> > no hay una manera de que esta sentencia no se demore mucho.
>> >
>> > muchas gracias por su ayuda.
>> > CCALLOQUISPE
>>
>>
>>



Respuesta Responder a este mensaje
#5 MAXI
23/03/2005 - 03:42 | Informe spam
Hola, no veo problema alguno, es mas lo ejecuto aca con el Raiserror y sin
el y el tiempo es el mismo :(

A ver, podrias probar de ejecutar esto pero desde el QA y ver si el tiempo
de respuesta es el mismo con el raiserror o sin el? quizas el problema este
en la version de MDAC



Maxi
Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)



"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
Hola:
Disculpa por no haberte enviado el procedimiento almacenado
es el siguiente:

IF EXISTS (SELECT name FROM sysobjects WHERE name = 'SP_BS_IU_Tsl_Usuario'
AND
type = 'P')
DROP PROCEDURE SP_BS_IU_Tsl_Usuario

go

CREATE PROCEDURE SP_BS_IU_Tsl_Usuario

/*

COMENTARIO GENERAL
AUTOR: CCALLOQUISPE PALOMINO RONALD VALENTIN
FECHA CREACION: 17/03/2005
FECHA ACTUALIZACION: 20/03/2005

*/
@C_Empleado varchar(5) output,
@T_Usuario_Login varchar(8),
@T_Usuario_Clave varchar(5),
@S_Usuario_Sesion varchar(1)='V',
@C_TipoUsuario varchar(5),
@v_opcion varchar(1),
@v_mensaje varchar(250)=null output


as

DECLARE @v_cantidad int



select @v_cantidad=count(*)
from tsl_empleado
where C_Empleado=@C_Empleado

IF @v_cantidad=0

BEGIN

raiserror('EL CODIGO DEL EMPLEADO NO EXISTE, SE CANCELO LA
OPERACION',16,1)

OPERACION'

return

END

IF @v_opcion='1'

BEGIN



select @v_cantidad=count(*)
from tsl_usuario
where C_Empleado=@C_empleado

IF @v_cantidad>0
BEGIN

IF @v_mensaje is null

BEGIN

raiserror('EL EMPLEADO YA ESTA REGISTRADO COMO USUARIO',16,1)

END

ELSE

BEGIN

set @v_mensaje='EL EMPLEADO YA ESTA REGISTRADO COMO USUARIO'

END



return


END
ELSE

BEGIN



insert into Tsl_Usuario
(C_Empleado,T_Usuario_Login,T_Usuario_Clave,S_usuario_Sesion,C_TipoUsuario)
values
(@C_Empleado,@T_Usuario_Login,@T_Usuario_Clave,@S_usuario_Sesion,@C_TipoUsuario)

set @v_mensaje='EL REGISTRO SE HA INSERTADO CORRECTAMENTE'

END

END

IF @v_opcion='2'

BEGIN


update tsl_usuario
set
T_Usuario_Clave=@T_usuario_Clave,
S_Usuario_Sesion=@S_usuario_Sesion,
C_TipoUsuario=@C_TipoUsuario
where C_Empleado=@C_Empleado

set @v_mensaje='EL REGISTRO SE HA ACTUALIZADO CORRECTAMENTE'

END

"Maxi" wrote:

Hola, me podes pasar como has realizado ese procedimiento almacenado?


Salu2
Maxi


"CCALLOQUISPE PALOMINO" escribió en el mensaje
news:
> Hola:
> Lo que pasa es que yo le he probado con un procedimiento
> almacenado y cuando saco esa sentencia y lo reemplazo con un parametro
> de
> salida output la aplicacion se hace mas rapido.
> es por eso que he sacado esa conclusion.
> la prueba utilice un formularios windows de mantenmiento de
> clientes y cuando haci click en el boton grabar y si el dni se repetia
> en
> ese momento se demora bastante la aplicacion haciendo que se parecia
> como
> se
> hubiese colgado, y eso que estaba usando un trigger con esa sentencia,
> pero
> cambie el trigger por un procedimiento almacenado pensando que el
> trigger
> se
> demoraba pero igual era, se demora lo mismo entonces cambie el
> raiserror
> por
> un parametro output en el procedimiento almacenado si en el
> procedimiento
> verificaba que no existia 2 personas con el mismo dni si existia le
> ponia
> la
> siguiente linea:
> set @v_mensaje='el nº de dni ya esta asigando a otra persona'
> return
> y con esta sentencia la operacion se hace mas rapido.
> es necesario utilizar raiserror, pero so yo deseo utilizar un trigger
> como
> le paso el mensaje del error a la aplicacion?
>
> muchas gracias
>
>
> "Maxi" wrote:
>
>> Se demora esa sentencia? mmm podrias pasarnos el codigo completo del
>> trigger? esa sentencia no es la gran causante del problema, lo debes
>> tener
>> en otro lado
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "CCALLOQUISPE PALOMINO" escribió en el
>> mensaje
>> news:
>> > Hola:
>> >
>> > Muchas gracias a maxi y miguel egea por haberme contestado en la
>> > pregunta
>> > de
>> > trigger pero ya conozco la respuesta porque mi trigger se demora
>> > mucho,
>> > y
>> > lo
>> > hace por la sentencia
>> > raiserror('ESTA SENTENCIA SE DEMORA MUCHO',16,1)
>> > no hay una manera de que esta sentencia no se demore mucho.
>> >
>> > muchas gracias por su ayuda.
>> > CCALLOQUISPE
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida