ayuda de algun experto en transact sql

16/08/2007 - 15:36 por Guillermo Villanueva | Informe spam
Buenas tardes, necesito desarrollar una función en mi base de datos.
Resulta que tengo códigos numéricos que teóricamente son secuenciales (NO
SON DE TIPO IDENTITY). pero en algunos casos se eliminan ciertos rangos
entonces me quedan cosas como:
fp_codigo
1
2
3
4
7
8
9
18
19
20
21
22
42
43
Necesito una función BuscarRango(x,desde,hasta) que me diga si es que hay
algún rango disponible de x o mas lugares, entonces la función me devolvería
verdadero si es que si hay y falso si no hay, y en caso de que sea verdadero
debería darme en desde, hasta el rango disponible, ejemplo
BuscarRango(1000,desde,hasta) --> falso
BuscarRango(5,desde,hasta) --> verdadero 10 17

Se como hacerlo en powerbuilder pero no tengo la menor idea de como hacerlo
en transact lo cual sería mucho mejor. Desde ya muchas gracias.

Guillermo
 

Leer las respuestas

#1 principiante
16/08/2007 - 16:12 | Informe spam
Antes que todo yo te preguntaría el propósito de la función. Digamos,
despues de tenerla, que vas a hacer con ella? Llenar esos rangos que te
faltan? porque si es esto ultimo, te puedes ahorrar tener que hacer esa
funcion, simplemente detectando al momento de agregar nuevos registros cual
es el proximo que esta disponible. Para eso basta con averiguar si existe
la secuencia antes de grabar para irla incrementando.


José TH


"Guillermo Villanueva" escribió en el
mensaje news:%23%
Buenas tardes, necesito desarrollar una función en mi base de datos.
Resulta que tengo códigos numéricos que teóricamente son secuenciales (NO
SON DE TIPO IDENTITY). pero en algunos casos se eliminan ciertos rangos
entonces me quedan cosas como:
fp_codigo
1
2
3
4
7
8
9
18
19
20
21
22
42
43
Necesito una función BuscarRango(x,desde,hasta) que me diga si es que hay
algún rango disponible de x o mas lugares, entonces la función me
devolvería verdadero si es que si hay y falso si no hay, y en caso de que
sea verdadero debería darme en desde, hasta el rango disponible, ejemplo
BuscarRango(1000,desde,hasta) --> falso
BuscarRango(5,desde,hasta) --> verdadero 10 17

Se como hacerlo en powerbuilder pero no tengo la menor idea de como
hacerlo en transact lo cual sería mucho mejor. Desde ya muchas gracias.

Guillermo

Preguntas similares