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:
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(*)
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
avance un poco mas, ahora necesito llamar a este procedimiento desde .NET y que el select sea el segundo cursor....
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