Verán, tengo un SP el cual le paso una serie de parametros, entre ellos uno de salida pNumElementos para recibir el numero de registros que tengo.
Bien, el problema es que en la empresa, dentro de este SP, creamos la sentencia en modo texto @sql = @sql + N'mas consulta' .... y despues al final de nuestro SP, llamamos a otro para que solo se nos devuelva los 5 registros primeros (Basandose en mas parametros que mandamos antes)
La estructura es algo asi:
Código:
Bien, esto me devuelve 5 registros, sin embargo, si ejecuto este SQL antes, sin usar ese SP, y establezco: SELECT @numElementos = @@ROWCOUNT, me devuelve el numero de registros existentes realmente.ALTER MI_SP parametro1, parametro2, ..., pNumElementos INT OUTPUT AS DECLARE @sql NVARCHAR(4000) SET @SQL = N'......................' SET @SQL = @SQL + N'.............' EXEC OTRO_SP parametro1, parametro2, ...., @SQL
Perfecto, pero claro, tengo que ejecutar ese SP tb, por lo que me devuelve dos consultas el Procedimiento almacenado.
Mi pregunta es, podría saber que numero de registros tiene la consulta @SQL antes de ejecutar el "OTRO_SP" y que no suponga devolverme todos los registros ?
Hacer algo asi:
Código:
Pero sin que se me devuelva los resultados de "EXEC sp_executesql @SQL" ALTER MI_SP parametro1, parametro2, ..., pNumElementos INT OUTPUT AS DECLARE @sql NVARCHAR(4000) SET @SQL = N'......................' SET @SQL = @SQL + N'.............' EXEC sp_executesql @SQL SET @pNumElementos = @@ROWCOUNT EXEC OTRO_SP parametro1, parametro2, ...., @SQL