Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/04/2011, 12:18
derebus
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 14 años
Puntos: 2
Respuesta: Como obtener el ID pk de una tabla dada

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. DECLARE @PrimaryKeyName AS VARCHAR(100)
  2. DECLARE @tabla AS VARCHAR(100)
  3. DECLARE @ID AS INT
  4.  
  5. SET @tabla='t_q_users'
  6. --Obtengo el nombre del primary key de la tabla
  7. SELECT @PrimaryKeyName =
  8. COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE a
  9. INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b
  10. ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME
  11. WHERE a.TABLE_NAME = @Tabla AND constraint_type = 'Primary key'
  12.  
  13. --Obtengo el ID actual de la tabla
  14. print @tabla
  15.  
  16. DECLARE @query VARCHAR(MAX)
  17. print @PrimaryKeyName
  18. SET @query= ' SELECT MAX( ' + @PrimaryKeyName + ') as id into ##temp FROM '  + @Tabla
  19. EXEC Sp_sqlExec @query
  20. SELECT @id=id FROM ##temp
  21. DROP TABLE ##temp
  22. print @id

Prueba con algo asi :)

Saludos!
Gracias a todos y gracias Libras era lo que necesitaba, complete el query y funciona perfecto