Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/08/2010, 16:37
Avatar de iislas
iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Obtener los indices y las columnas que componen dichos indices

Guarda el contenido de lo que te envia el sp_helpindex

Código SQL:
Ver original
  1. DROP TABLE #tables
  2. DROP TABLE #indices
  3. DECLARE @tabla sysname
  4. DECLARE @record INT
  5. CREATE TABLE #tables (id INT IDENTITY PRIMARY KEY, name sysname)
  6. CREATE TABLE #indices (tabla VARCHAR(50), index_name sysname, index_description VARCHAR(50), index_keys VARCHAR(255))
  7. INSERT INTO #tables (name)
  8. SELECT name FROM sysobjects WHERE TYPE='U' ORDER BY name
  9. SET @record = 1
  10. WHILE @record <= (SELECT MAX(id) FROM #tables)
  11. BEGIN
  12. SELECT @tabla = name FROM #tables WHERE id = @record
  13. INSERT INTO #indices (index_name, index_description, index_keys)
  14. EXEC sp_helpindex @tabla
  15. UPDATE #indices SET [tabla] = @tabla
  16. SET @record = @record + 1
  17. END
  18. GO
  19.  
  20. -- al final solo haces un select a la tabla #indices
  21. SELECT * FROM #indices