NOMBRE DE COLUMNA IDENTIDAD

01/06/2005 - 11:13 por **joselitux** | Informe spam
Hola

¿cómo podría saber el nombre de la columna identity de una tabla
teniendo en cuenta que solamente sé el nombre de la tabla?

Tengo esta sentencia que funciona pero es muy compleja para lo que necesito.



SELECT Sysobjects.name AS TABLA, syscolumns.name AS COLUMNA_IDENTIDAD
FROM syscolumns INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
LEFT JOIN sysobjects ON syscolumns.id = sysobjects.id
WHERE syscolumns.id IN(SELECT id FROM SYSOBJECTS
WHERE xtype = 'U')AND (systypes.name <> 'sysname') AND
syscolumns.colid='1' ORDER BY Sysobjects.name

Preguntas similare

Leer las respuestas

#1 **joselitux**
01/06/2005 - 11:57 | Informe spam
Encontré esta otra, pero tiene que haber una más sencilla

SELECT '[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']' AS [Table Name],
COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMNPROPERTY(OBJECT_ID(QUOTENAME(TABLE_SCHEMA) + '.' +
QUOTENAME(TABLE_NAME)), COLUMN_NAME, 'IsIdentity') = 1
AND OBJECTPROPERTY(OBJECT_ID(QUOTENAME(TABLE_SCHEMA) + '.' +
QUOTENAME(TABLE_NAME)), 'IsMSShipped') = 0
AND TABLE_NAME = 'Employees' /* If you are interested in a specific table*/


**joselitux** wrote:
Hola

¿cómo podría saber el nombre de la columna identity de una tabla
teniendo en cuenta que solamente sé el nombre de la tabla?

Tengo esta sentencia que funciona pero es muy compleja para lo que
necesito.



SELECT Sysobjects.name AS TABLA, syscolumns.name AS COLUMNA_IDENTIDAD
FROM syscolumns INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
LEFT JOIN sysobjects ON syscolumns.id = sysobjects.id
WHERE syscolumns.id IN(SELECT id FROM SYSOBJECTS
WHERE xtype = 'U')AND (systypes.name <> 'sysname') AND
syscolumns.colid='1' ORDER BY Sysobjects.name
Respuesta Responder a este mensaje
#2 qwalgrande
01/06/2005 - 19:47 | Informe spam
Hola.

Otra forma:

select table_name, column_name
from information_schema.columns
where columnproperty(object_id(table_name), column_name, 'isidentity') = 1



qwalgrande

"De lo que ves créete la mitad, de lo que no ves no te creas nada"
V. del V.


"**joselitux**" escribió en el mensaje
news:%
Encontré esta otra, pero tiene que haber una más sencilla

SELECT '[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']' AS [Table Name],
COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMNPROPERTY(OBJECT_ID(QUOTENAME(TABLE_SCHEMA) + '.' +
QUOTENAME(TABLE_NAME)), COLUMN_NAME, 'IsIdentity') = 1
AND OBJECTPROPERTY(OBJECT_ID(QUOTENAME(TABLE_SCHEMA) + '.' +
QUOTENAME(TABLE_NAME)), 'IsMSShipped') = 0
AND TABLE_NAME = 'Employees' /* If you are interested in a specific
table*/


**joselitux** wrote:
Hola

¿cómo podría saber el nombre de la columna identity de una tabla teniendo
en cuenta que solamente sé el nombre de la tabla?

Tengo esta sentencia que funciona pero es muy compleja para lo que
necesito.



SELECT Sysobjects.name AS TABLA, syscolumns.name AS COLUMNA_IDENTIDAD
FROM syscolumns INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
LEFT JOIN sysobjects ON syscolumns.id = sysobjects.id
WHERE syscolumns.id IN(SELECT id FROM SYSOBJECTS
WHERE xtype = 'U')AND (systypes.name <> 'sysname') AND
syscolumns.colid='1' ORDER BY Sysobjects.name
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida