Hola en este post explicare como obtener el numero de registros que nos arroja una consulta en SQLServer sin utilizar
la funcion count(*).
Muchas veces requerimos esta informacion para por ejemplo.
- Mostrar el numero de registros afectados
- Realizar paginaciones en algunos controles por ejemplo grids
- etc.
para ello yo utilize la la variable @@RowCount, la cual tiene diferentes usos pero para este ejemplo me su funcionalidad sera darme los registros tras realizar una consulta a una tabla.
para poder usar esta funcion la sintaxis es la siguiente:
DECLARE @numeroRegistros AS INT -- Evitamos que se devuelva el mensaje que muestra el recuento -- del número de filas afectadas por una instrucción -- como parte del conjunto de resultados. SET NOCOUNT ON SELECT * FROM [TU_TABLA] -- realizamos la consulta a la tabla deseada SET @numeroRegistros -- asignamos el valor de las filas afectadas a la variable declarada anteriormente SET NOCOUNT OFF -- le decimos que muestre los mensajes nuevamente SELECT @numeroRegistros -- mostramos los registros
Espero les halla servido este post, cualquier duda o inquietud estoy a sus ordenes.
links de referencia:
http://technet.microsoft.com/es-es/library/ms189837.aspx
http://technet.microsoft.com/es-es/library/ms187316.aspx