Cześć,
natrafiłem na następujący problem na: https://stackoverflow.com/questions/10199111/execute-a-stored-procedure-in-another-database-with-params gdzie jest opisywane rozwiązanie, którego szukałem. W rozwiązaniu, w części zapytania jest zapis" '$db$'.
Moje pytanie to: czy on coś oznacza? Czy może to jest zwykły tekst, który później jest podmieniany z nazwą zmiennej?
0
0
Zobacz linijkę z REPLACE
0
Marcin.Miga napisał(a):
Zobacz linijkę z REPLACE
No właśnie widziałem dlatego podejrzewam, że jest to zwykły "śmieć" do podmiany. Ale wolę się upewnić, bo nie znam za dobrze SQL-a.
0
Dobra,
to zadam jeszcze jedno, być może głupie pytanie: po co jest sp_executesql jeśli można korzystać z REPLACE'a?
Równie dobrze w tym przykładzie można by dać zamiast: WHERE o.name = @TableName np. WHERE o.name = xyz
a następnie zamienić xyz na @TableName
1
Ten replace wynika z tego że w skrypcie definiujesz szczegóły: tabele i bazę w której jest tabela. O ile nazwa tabeli może być w where. To odwołując się do tabeli w ten sposób: baza.schemat.tabela, baza nie może być zmienną. Dlatego masz replace i sp_executesql.