Pesquisar dados em todas as tabelas de acordo com campo selecionado

15/08/2018

0

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

Responder

Posts

16/08/2018

Alex Lekao

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,
Responder

16/08/2018

Chromusmaster

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
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar