ayuda con cursor implicito en sql server

Iniciado por d91, 12 Diciembre 2015, 13:43 PM

0 Miembros y 1 Visitante están viendo este tema.

d91

hola a todos, estoy iniciando ahora con sql server y necesito hacer un procedimiento almacenado que cuente el total de las filas de una tabla, pero según he leído en sql server no contamos con los cursores implícitos:
Código (sql) [Seleccionar]

select count(*) into contador from empleados;

y no se como se haría con los explicitos, porque de estar vacia la tabla no se realiza ningún movimiento en el contador y de existir filas solo haría una instrucción de count(*)
Código (sql) [Seleccionar]

declare @var int
declare contador cursor for
select count(No_empleado) from empleado

begin
OPEN contador
fetch contador into @var
 print @var
end


tampoco existe un tipo de dato igual a las  filas y sus columnas resultantes del cursor
cont contador%rowtype, sino que debo de declarar cada una de las columnas posibles que devolvera


d91

avance un poco mas, ahora necesito llamar a este procedimiento desde .NET y que el select sea el segundo cursor....
Código (sql) [Seleccionar]

declare @var int
declare @var2 int
declare c_contador cursor for
select count(Codigo_empleado) from EMPLEADO

declare c_ultimo cursor for
select max(Codigo_empleado) from EMPLEADO

begin
set @var = 0
OPEN c_contador
fetch next from c_contador into @var
--while (@@FETCH_STATUS = 0)
--BEGIN
   --print @var
--FETCH next from contador into @var
--END
CLOSE c_contador
DEALLOCATE c_contador
if @var != 0
 -- print @var
 begin
  Open c_ultimo
     fetch next from c_ultimo into @var2
     print @var2
   close c_ultimo
  deallocate c_ultimo
 end
else
   begin
      set @var = -1
      print @var
   end
end