Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/07/2009, 13:50
Avatar de flaviovich
flaviovich
 
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 6 meses
Puntos: 39
Respuesta: recuperar Metadatos con cunsulta

Esta seguro que no es la mejor solucion, pero funciona:
Código sql:
Ver original
  1. CREATE TABLE #temp(tabla VARCHAR(255))
  2. DECLARE @tabla VARCHAR(255), @columna VARCHAR(255)
  3.  
  4. DECLARE Tablas CURSOR FOR
  5.     SELECT T.TABLE_NAME, C.column_name
  6.     FROM information_schema.TABLES T
  7.     INNER JOIN information_schema.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME
  8.     WHERE T.TABLE_NAME NOT LIKE 'sys%'
  9.     AND T.TABLE_NAME <> 'dtproperties'
  10.     AND T.table_schema <> 'INFORMATION_SCHEMA'
  11.     AND C.column_name LIKE '%mes%'
  12.     AND T.TABLE_NAME NOT LIKE 'VX%'
  13.     AND T.TABLE_NAME NOT LIKE 'XX%'
  14.     AND T.TABLE_NAME NOT LIKE 'zz%'
  15.     ORDER BY T.TABLE_NAME, C.TABLE_NAME
  16. FOR READ ONLY
  17.  
  18. OPEN Tablas
  19. FETCH NEXT FROM Tablas INTO @tabla, @columna
  20.  
  21. WHILE @@FETCH_STATUS = 0
  22. BEGIN
  23.  
  24.     EXEC('
  25.        IF EXISTS(SELECT 1 FROM '+@tabla+' WHERE '+@columna+' = 12)
  26.            INSERT INTO #temp VALUES('''+@tabla+''')
  27.        ')
  28.     FETCH NEXT FROM Tablas INTO @tabla, @columna
  29. END
  30.  
  31. CLOSE Tablas
  32. DEALLOCATE Tablas
  33.  
  34. SELECT * FROM #temp
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.