Excepciones SQL Server

18/11/2003 - 11:46 por [-H-] | Informe spam
Hola a todos.
Según me he informado en los libros de pantalla de sql
server 2000, la manera en la que sql server 2000 permite
manejar las excepciones es la siguiente:
1- o bien la elevamos mediante la cláusula RAISERROR
2- o bien la tratamos comprobándola con una condición, y
usando etiquetas para saltar a la parte de código que la
trate.
Mi problema es que necesito controlar el que, cuando hago
un SELECT, sobre una variable, me puedan ocurrir las
siguientes cosas:
1º) no encuentre ninguna fila (que NO ES LO MISMO que me
devuelva null)
2º) las filas devueltas son mas de una y no pueda
abarcarlas con la variable (en Oracle se conoce como TOO
MANY ROWS)

¿Que mecanismo ofrece SQL Server 2000 para controlar estas
dos excepciones?
Muchas gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
18/11/2003 - 13:41 | Informe spam
En SQL Server no existe el concepto de excepciones (espérate para ello a
la nueva versión); los errores se manejan comprobando el valor de @@ERROR.

Si necesitas enviar al cliente un error cuando no existan filas o cuando
sean más de una, tendrás que comprobar justo después de realizar la consulta
el valor de @@ROWCOUNT y enviar los mensajes que consideres al cliente
mediante RAISERROR.



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"[-H-]" escribió en el mensaje
news:031001c3adc1$2aa02ea0$
Hola a todos.
Según me he informado en los libros de pantalla de sql
server 2000, la manera en la que sql server 2000 permite
manejar las excepciones es la siguiente:
1- o bien la elevamos mediante la cláusula RAISERROR
2- o bien la tratamos comprobándola con una condición, y
usando etiquetas para saltar a la parte de código que la
trate.
Mi problema es que necesito controlar el que, cuando hago
un SELECT, sobre una variable, me puedan ocurrir las
siguientes cosas:
1º) no encuentre ninguna fila (que NO ES LO MISMO que me
devuelva null)
2º) las filas devueltas son mas de una y no pueda
abarcarlas con la variable (en Oracle se conoce como TOO
MANY ROWS)

¿Que mecanismo ofrece SQL Server 2000 para controlar estas
dos excepciones?
Muchas gracias.
#2 Anonimo
18/11/2003 - 16:10 | Informe spam
Muchísimas gracias Carlos, no conocía esa variables de
entorno.
Un saludo.
Mostrar la cita
(espérate para ello a
Mostrar la cita
valor de @@ERROR.
Mostrar la cita
existan filas o cuando
Mostrar la cita
realizar la consulta
Mostrar la cita
consideres al cliente
Mostrar la cita
el mensaje
Mostrar la cita
Ads by Google
Search Busqueda sugerida