Witam ponownie ;)
Przychodzę z nowymi problemami :P
Chcę zrobić funkcję, która będzie zapisana w jeden bazie danych a wywoływana będzie w innych. Funkcja będzie zwracać wyniki z tabel z bazy w której będzie wywoływana.
W tym celu w parametrach funkcji dodaję dodatkowy parametr @data_base_id int
, który będzie identyfikował bazę danych w której wykonywana jest funkcja.
Następnie w funkcji robię coś takiego:
declare @data_base_name nvarchar(50)
SELECT @data_base_name = DB_NAME(@data_base_id)
A problem jest taki, że nie wiem jak zrobić zapytanie, które odwoływać się będzie do tej bazy danych (w której jest wywoływana funkcja).
Próbowałem coś w tym stylu (różne wersje):
SELECT xxx FROM @data_base_name.CDN.yyy
lub z dodaniem nawiasów kwadratowych tj.
SELECT xxx FROM [@data_base_name].CDN.yyy
Ale ciągle gdzieś jest błąd.
Mam więc pytanie jak to powinno być zrobione?
Z góry dziękuję za pomoc!