unicas una tipos tabla restricciones restriccion llaves ejemplos ejemplo crear constraint como check sql sql-server tsql sql-server-2008

una - restriccion check sql server



Crear tabla de temperatura con rango de nĂºmeros (2)

En MSSQL, también puede usar seleccionar de cualquier tabla grande arbitraria, syscolumns sería un ejemplo. Si no hay suficientes filas, puede hacer una combinación cruzada:

SELECT TOP 10000 ROW_NUMBER() OVER (ORDER BY c1.id) FROM syscolumns AS c1 CROSS JOIN syscolumns AS c2

Tengo una tabla que tiene filas con los números de inicio y final de un rango, por ejemplo

key startID endID 1 500 505 2 784 788 3 802 804

y así..

Me gustaría crear una tabla temporal (o variable de tabla / cte, etc.) que tenga una fila para cada uno de estos números y el rango que cubren entre ellos, es decir, dado el ejemplo anterior, me gustaría ver una tabla con las siguientes filas:

ID 500 501 502 503 504 505 784 785 786 787 788 802 803 804

¿Alguien puede señalarme en la dirección de manera rápida y fácil de lograr esto? Pensé en usar una tabla de números de alguna manera, pero las tablas que estoy viendo tienen> 200m filas y ¡no tengo una tabla de números tan grande!

Cualquier ayuda es muy apreciada. Gracias por adelantado.


WITH q AS ( SELECT startId, endId FROM ranges UNION ALL SELECT startId + 1, endId FROM q WHERE startId < endId ) SELECT startId FROM q OPTION (MAXRECURSION 0)