Mostrar registros con un parametro

Hola experto tengo una duda como puedo yo mostrar registros
en una
consulta pasandole un parametro donde le diga la cantidad de
registros
que deseo mostrar, sin utilizar la sentencia "top"
porq es una procedimiento almacenado,
gracias por tu tiempo
script:
--mostrar cod_docente,nombre,categoria,cursos
create
procedure usp_buscar_docente
@nom_docvarchar(30),
@nom_categoriavarchar(30),
@cod_cursovarchar(10)
as
select
d.cod_doc,dh.cod_doc,d.nom_doc,c.nom_categoria,cu.nom_curso
from
docente d inner join categoria c
on d.cod_categoria=c.cod_categoria
full outer join docente_hi dh
on d.cod_doc=dh.cod_doc
inner join curso cu
on
cu.cod_curso=cu.cod_curso
end;
where
d.cod_doc=@nom_doc
and d.cod_categoria like '%'+
@nom_categoria+ '%'

1 respuesta

Respuesta
1
¿Cómo estas?
Bueno no entiendo por que no quieres usar el Top lo puedes usar perfectamente en un procedimiento almacenado, pero te doy otra solucion:
with Temp as (
select d.cod_doc,dh.cod_doc,d.nom_doc,c.nom_categoria,cu.nom_curso,row_number() over(order by d.cod) as top5
from docente d inner join categoria c
on d.cod_categoria=c.cod_categoria full outer join docente_hi dh
on d.cod_doc=dh.cod_doc inner join curso cu on
cu.cod_curso=cu.cod_curso
where d.cod_doc=@nom_doc and d.cod_categoria like '%'+ @nom_categoria+ '%')
Select cod_doc,cod_doc,nom_doc,nom_categoria,nom_curso from Temp where top5<=5

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas