Pesquisar dados em todas as tabelas de acordo com campo selecionado
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:
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
Curtidas 0
Respostas
Alex Lekao
15/08/2018
Ola, Boa tarde!!!<br />
<br />
Experimente assim:<br />
<br />
<br />
<br />
Atenciosamente,
<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 />
Atenciosamente,
GOSTEI 0
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