No se si valga en tu caso, pero en lugar de un procedimiento almacenado podrias tener una tabla que ya contenga la secuencia de números que te interesa, y luego enlazarla via outer join (por ejemplo en una vista)
Supongamos que creamos la tabla Secuencia y que la rellenamos con los números del 1000 al 7000.
Luego podriamos hacer:
Código SQL
[-]
select sec.Numero, s.estado, s.descri_1
from secuencia sec
left outer join scginf s on s.cod_inf = sec.Numero
order by sec.Numero;
Al menos a mi esta solución me parece mas elegante...
Hasta luego.