Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/09/2012, 16:04
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Listar tablas de una instancia sql

[HIGHLIGHT="SQL"]
para empezar para que necesitas un cursor? si puedes hacer eso con un query dinamico y un while algo como esto:

Código SQL:
Ver original
  1. ---Obtener los nombres de todas las tablas de una base y sacar cuantos registros tiene cada una de ellas
  2. DROP TABLE #temp
  3. DROP TABLE #t
  4. SELECT TABLE_NAME, IDENTITY(INT,1,1) AS ROW
  5. INTO #temp
  6. FROM information_schema.TABLES
  7. WHERE (table_type = 'base table')
  8.  
  9.  
  10.  
  11. CREATE TABLE #t
  12. (
  13.     [name] NVARCHAR(128),
  14.     [ROWS] CHAR(11),
  15.     reserved VARCHAR(18),
  16.     DATA VARCHAR(18),
  17.     index_size VARCHAR(18),
  18.     unused VARCHAR(18)
  19. )
  20.  
  21.  
  22. DECLARE
  23. @contador INT,
  24. @query VARCHAR(MAX),
  25. @x INT,
  26. @nombre VARCHAR(200)
  27.  
  28. SELECT @contador=COUNT(*) FROM #temp
  29. SET @x=1
  30. SET @query=''
  31. while @x<=@contador
  32. BEGIN
  33.     SELECT @nombre=TABLE_NAME FROM #temp WHERE ROW=@x
  34.        
  35.     SET @query='insert into #t exec sp_spaceused ' + CHAR(39) + @nombre + CHAR(39)  
  36.     EXEC Sp_sqlExec @query    
  37.     SET @x=@x+1
  38. END
  39.  
  40.  
  41. ----------------------------------------------------
  42.  
  43. SELECT * FROM #temp
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me