Array
(
)

COMO PROCURAR UM DADO SEM SABER EM QUAL TABELA, É POSSIVEL

N_informatica
   - 15 jun 2009

Meus Caros.

Estou precisando localizar um dado em um BD SQL Server porem não sei em qual tabela ele se encontra e o BD é muito grande para para eu ter que construir um SELECT * FROM para cada tabela para localizar o dado que preciso.

Se trata de uma Placa de Veículo já procurei de todas as maneiras e não encontrei.

Se alguem puder me ajudar indicando uma linha de comando ou uma ferramenta que me possibilite localizar o campo e a tabela atraves do dado tipo ´BFO4673´ e eu saber em qual tabela ele se encontra fico muito grato.

Obrigado a Todos.

Ceilton
   - 19 jun 2009

Voce sabe o nome da coluna em que esta registrado a placa de carro?
Algo do tipo nm_placa...

N_informatica
   - 19 jun 2009

Infelizmente a única referência que tenho é o numero da placa que é informada antes da impressão da nota fiscal.

Caso ajude estou procurando este dado em na base de dados do rm sistemas

Atenciosamentem,

Tadeu

Ceilton
   - 19 jun 2009

Este codigo faz o que voce precisa.
Mas pode ser extremamente demorado, visto que pode executar table scan em tabelas muito grandes.
O select na tabela #achei listara as tabelas onde foi encontrado o valor procurado

Use com moderação.

------------------------------------------------------------------------------
select ´select * from ´ + o.name + ´ where ´ + c.name + ´ = ´´BFO4673´´´ C1
into temp
from syscolumns c, sysobjects o
where
c.id = o.id
and c.xtype in (175, 167) and c.name <> ´´
and o.type = ´U´
order by c.name

create table achei (nometabela varchar(500))

declare @comando varchar(250)
declare cursor01 cursor for select * from temp
open cursor01
fetch cursor01 into @comando

while @@fetch_status = 0
begin
execute (@comando)
if @@rowcount > 0
insert achei values (@comando)

fetch cursor01 into @comando
end

select * from #achei

close cursor01
deallocate cursor01
drop table temp
--drop table achei
----------------------------------------------------------------