Mejorar procedimiento Sql

02/04/2006 - 10:39 por Eduardo Alvarado Meza | Informe spam
Deseo saber si hay algo para mejorar la logica de un sp que tengo, este sp
tiene que devolver un solo conjunto de registros, este conjunto de registros
resulta de un Select de x campos, pero quiero que el mismo Sp se de cuenta
cuando este select no devuelve ningun registro, y en este caso llame a otro
select que si retornara un conjunto de registros.

Se que podria hacer un:
if (select count ...) = 0
select x from ...
else
select x from

La cuestion esta en que si hay una forma de evitar el Count, para ahorrarle
trabajo innecesario al sql. Tambien pense en un :

Select x from...
if @@rowcount = 0
Select x from ...

Pero eso resulta en dos result sets y solo espero uno.

Gracias de antemano.
 

Leer las respuestas

#1 David Sans
02/04/2006 - 13:17 | Informe spam
Hola Eduardo y grupo.

Mira esta sentencia sql
select count(*) form (SELECT top 1 [CustomerID] FROM [Northwind].[dbo].[Customers] where city > 'A')

Creo que solo lee una fila de la sentencia Where
igual te funciona.

Un saludo
David Sans

"Eduardo Alvarado Meza" <ealvarado_15@(eliminarestetexto)hotmail.com> escribió en el mensaje
news:
Deseo saber si hay algo para mejorar la logica de un sp que tengo, este sp tiene que devolver un solo conjunto de registros, este
conjunto de registros resulta de un Select de x campos, pero quiero que el mismo Sp se de cuenta cuando este select no devuelve
ningun registro, y en este caso llame a otro select que si retornara un conjunto de registros.

Se que podria hacer un:
if (select count ...) = 0
select x from ...
else
select x from

La cuestion esta en que si hay una forma de evitar el Count, para ahorrarle trabajo innecesario al sql. Tambien pense en un :

Select x from...
if @@rowcount = 0
Select x from ...

Pero eso resulta en dos result sets y solo espero uno.

Gracias de antemano.

Preguntas similares