IDENTITY Nos permite generar valores secuenciales, con base en los parámetros que se establezcan SELECT IDENTITY(TipoDato, ValorInicial, Incremento) AS ID_Num
Esta sentencia la podemos utilizar solo cuando SELECT contiene la clausula INTO. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Tablas Temporales Para hacer uso de la clausula INTO creamos una tabla temporal de la siguiente forma: SELECT IDENTITY(INT, 1, 1) AS ID, CustomerID, CompanyName, ContactName, Country INTO #TMP_CUSTOMER FROM Customers ORDER BY Country SELECT * FROM #TMP_CUSTOMER DROP TABLE #TMP_CUSTOMER En este ejemplo obtenemos los clientes de la tabla Customers ordenados por su campo Country de la base de datos Northwind y parte del resultado obtenido es: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Ahora, si la tabla de la cual vamos a obtener la información contiene una columna IDENTITY, el motor encontrará que hay 2 columnas INDENTITY en la tabla a generar, produciendo un error. Para solucionar este problema es necesario convertir la columna IDENTITY de la tabla que causa el problema al mismo tipo de dato (lo que hacemos es quitarle el IDENTITY) Por ejemplo, la tabla Products de la base de datos Northwind tiene definida la propiedad IDENTITY en la columna ProductID. SELECT IDENTITY(INT, 1, 1) AS ID, CAST(ProductID AS INT) AS ProductID, ProductName INTO #TMP_PRODUCTS FROM Products SELECT * FROM #TMP_PRODUCTS DROP TABLE #TMP_PRODUCTS Parte del resultado de este ejemplo es el siguiente: | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Bienvenido, en el presente blog encontraras diversos articulos, manuales y direcciones de apoyo para los siguientes lenguajes: XML, Java, .NET (C# y aspx), JavaScript, SQL y C++
martes, 7 de noviembre de 2006
SQL - Generar números de filas haciendo uso de Tablas Temporales
En el presente ejemplo veremos como enumerar el resultado de un consulta, la cual normalmente difiere de nuestros identificadores o claves internas en la base de datos. Esto lo podemos lograr haciendo uso de la función IDENTITY y de Tablas temporales.
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario