Zlaczenie T-SQL


(opos23) #1

Witam 

szukalem ale nie znalazlem  i dlatego chcialbym zapytac czy da sie zrobic zlaczenie ktore automatycznie pobieraloby wszystkie  tabele z SQL server menagera by dalo sie wyciagnac ktore tabele zawieraja  wybrana wartosc

czy to raczej niewykonalne

 


(kowgli) #2

Z SQL Server Management Studio na pewno nic się nie da pobrac, bo to tylko UI.

Jeśli chodzi Ci o pobranie z bazy danych :wink: to pewnie jakoś się da używając dynamicznie zbudowanego zapytania (klejony string), ale to trochę niedorzeczne. Miałbyś iloczyn kartezjański wszystkich tabel (bo przecież nie mają wszystkie ze sobą powiązań, więc miałbyś JOIN’y bez warunków łączących).

Wydaje mi się, że jeśli chcesz odnaleźć wartość w w dowolnej tabeli, to lepszym pomysłem byłoby przelecenie się po nich wszystkich pętlą i wrzucenie wyniku do pliku teksowego, który możesz łatwo przeszukać.

  1. Zadeklaruj kursor po 

    SELECT * FROM INFORMATION_SCHEMA.TABLES

  2. W pętli:

a. wyrzuć coś w stylu 'SELECT @TableName ’ - gdzie @TableName pobierasz w kursorze

 

A jak chcesz gotowca to wpisz w google “t-sql search in all tables” i wybierz pierwszy wynik z góry


(Fizyda) #3

Jeśli chcesz coś takiego zrobić to całkiem prawdopodobne, że masz źle zaprojektowaną bazę danych. Ciężko to stwierdzić na podstawie tego co napisałeś. Podaj może więcej szczegółów bo może idziesz okrężną drogą.


(kostek135) #4

Nie tyle nie wykonalne, co głupie. Jeśli musisz pobrać wszystko, to równie dobrze możesz używać plików płaskich do których będziesz serializował obiekty/struktury danych.


(djfoxer) #5

Czy wiesz jakiego typu danych szukasz (int, bit, varchar itp.) albo jak ma nazywać się poszukiwana kolumna, w której może być wartość? Poza tym to dość niedorzeczne zadanie ;)