Pesquisar dados em todas as tabelas de acordo com campo selecionado

SQL Server

SQL

.NET

Banco de Dados

15/08/2018

Olá, boa tarde.
Tenho uma consulta que verificar a existência de um campo em todas as tabelas do banco de dados. Gostaria de saber como pesquisar com base no retorno da consulta anterior o valor dentro destes campos. Segue consulta que tenho atualmente:
SELECT 
	T.name AS Tabela, 
	C.name AS Coluna
FROM 
	sys.sysobjects    AS T (NOLOCK) 
INNER JOIN sys.all_columns AS C (NOLOCK) ON T.id = C.object_id AND T.XTYPE = 'U' 
WHERE 
	C.NAME LIKE '%CPF%'
ORDER BY 
	T.name ASC
Chromusmaster

Chromusmaster

Curtidas 0

Respostas

Alex Lekao

Alex Lekao

15/08/2018

Ola, Boa tarde!!!<br />
<br />
Experimente assim:<br />
<br />
<br />
SELECT <br />
   * <br />
FROM (SELECT<br />
         T.name AS Tabela, <br />
      C.name AS Coluna<br />
      FROM sys.sysobjects    AS T (NOLOCK) <br />
      INNER JOIN sys.all_columns AS C (NOLOCK) ON T.id = C.object_id AND T.XTYPE = ''U''<br />
      WHERE C.NAME LIKE ''%CPF%'') AS REL<br />
WHERE REL.COLUNA = ''CPF''<br />
<br />
<br />
Atenciosamente,
GOSTEI 0
Chromusmaster

Chromusmaster

15/08/2018

Mais uma vez consegui solucionar na "raça". Segue consulta para quem precisar:
drop table temp
select 'select * from ' + o.name + ' where ' + c.name + ' = ''DADO A PESQUISAR''' C1
into temp
from syscolumns c, sysobjects o
where 
c.id = o.id
and c.xtype in (175, 167) and c.name like 'NOME CAMPO TABELA'
and o.type = 'U'
order by c.name
GOSTEI 0
POSTAR