Composicin de Una Tabla de Nmeros en SQL

Composición de Una Tabla de Números en SQL Server con Transact SQL Leonel Morales Díaz Ingeniería Simple leonel@ingenieriasimple. com Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados Disponible en: http: //www. ingenieriasimple. com/TSQL

Problema • Se necesita una tabla con gran cantidad de registros • Al menos uno numérico y uno alfanumérico

Solución • Crear una tabla con 100, 000 ( o la cantidad que sea) registros de la forma: – Número, número en letras – Con números aleatorios – Sin registros repetidos – No necesariamente consecutivos

Instrucciones SQL • Se requieren las funciones de conversión de números a números en letras • Crear la tabla donde serán insertados los datos Create Table Números( Código Int NOT NULL, Descripción n. Var. Char(max) NULL, Constraint PK_Números Primary Key Clustered ( Código ASC ) ) Declare @Counter Int Declare @Dato Int Set @Counter = 70000 Set @Dato = 0 While @Counter > 0 Begin Set @Dato = @Dato + Convert(Int, Rand()*10+1) Insert Into Números (Código, Descripción) Values (@Dato, dbo. Convi_Convierte(@Dato)) Set @Counter = @Counter - 1 End

Resultados Select Top 20 * From Números Where Código > 30000 Código -----30001 30004 30012 30018 30028 30038 30047 30056 30058 30065 30074 30082 30085 30095 30101 30107 30111 30115 30123 30126 Descripción ----------------treinta mil uno treinta mil cuatro treinta mil doce treinta mil dieciocho treinta mil veintiocho treinta mil treinta y ocho treinta mil cuarenta y siete treinta mil cincuenta y seis treinta mil cincuenta y ocho treinta mil sesenta y cinco treinta mil setenta y cuatro treinta mil ochenta y dos treinta mil ochenta y cinco treinta mil noventa y cinco treinta mil ciento uno treinta mil ciento siete treinta mil ciento once treinta mil ciento quince treinta mil ciento veintitres treinta mil ciento veintiseis (20 row(s) affected)
- Slides: 5