Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/04/2011, 11:47
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Como obtener el ID pk de una tabla dada

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!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me