Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/06/2012, 07:33
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, 5 meses
Puntos: 774
Respuesta: Procedimiento Almacenado

query dinamico amiga :)

hay una vista de sistema que te regresa los nombres de tus objetos de la base de datos, asi que puedes usar esto para saber los nombres y vas armando tu cadena, la vista que te digo es esta:

select * from information_schema.tables
where table_type = 'base table'



Mira aqui te dejo un ejemplo de como obtener todos los renglones de todas las tablas de tu base de datos

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 #total
  4. SELECT TABLE_NAME, IDENTITY(INT,1,1) AS ROW
  5. INTO #temp
  6. FROM information_schema.TABLES
  7. WHERE table_type = 'base table' AND TABLE_NAME LIKE '%aqui el nombre en comun de tus tablas%'
  8. CREATE TABLE #total(
  9. tabla VARCHAR(200),
  10. total INT
  11. )
  12.  
  13. DECLARE
  14. @contador INT,
  15. @query VARCHAR(MAX),
  16. @x INT,
  17. @nombre VARCHAR(200)
  18.  
  19. SELECT @contador=COUNT(*) FROM #temp
  20. SET @x=1
  21. SET @query=''
  22. while @x<=@contador
  23. BEGIN
  24.     SELECT @nombre=TABLE_NAME FROM #temp WHERE ROW=@x
  25.        
  26.     SET @query='select count(*), ' + CHAR(39) + @nombre + CHAR(39) + ' from ' + @nombre + ' with(nolock)'
  27.     EXEC Sp_sqlExec @query    
  28.     SET @x=@x+1
  29. END
  30.  
  31. SELECT * FROM #total ORDER BY total DESC

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me