Tutorial SQL

Przykłady, tutorial, gotowe rozwiązania sql.

Kategoria: MS SQL


Szukanie wartości w tabeli w wszystkich kolumnach


Jakiś czas temu musiałem znaleźć kolumnę w której jest przechowywana wartość z systemu transakcyjne sprawa była o tyle z komplikowana, że nie posiadałem dokumentacji, a tabela miała około 500 kolumn. Rozwiązanie okazała się dość proste lecz nie zbyt szybkie. Kod pozwala na przeszukiwanie wszystkich kolumn w tabeli po jakieś wartości. Jego wynikiem są kolumny w której tą wartość znalazł.

declare @dd nvarchar(max)
declare @szukana nvarchar(max)
declare @test nvarchar(max)
declare @tabela nvarchar(50)
Set @dd = ''
Set @szukana = '''1'''
set @i =1
set @tabela = 'spt_values'
if object_id('#resultat') is not null drop table #resultat
CREATE TABLE #resultat
(resultat sql_variant,nazwa sql_variant)

WHILE @i <= (select max(ordinal_position) FROM INFORMATION_SCHEMA.Columns
WHERE table_name = @tabela)
begin

select
@dd =@dd+ 'select top 1 ' + column_name + ','''+column_name+''' from ' + @tabela+' where ' + column_name + ' like ' + @szukana
FROM INFORMATION_SCHEMA.Columns
WHERE table_name = @tabela and ordinal_position = @i

INSERT INTO #resultat exec(  @dd)

set @i =@i+1
end

select * from #resultat 

powrót















SQL-KURSY.pl poleca:

Książki
ksikaksikaksikaksikaksika

Copyright 2010-2011mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional

Strona internetowa wykorzystuje pliki cookie zapisywane w pamięci przeglądarki internetowej.

OK