Wydaje się to stosunkowo proste, ale najwyraźniej tak nie jest.TSQL wybierz do tabeli Temp z dynamicznego sql
muszę utworzyć tabelę temp na podstawie istniejącej tabeli poprzez select do składni:
SELECT * INTO #TEMPTABLE FROM EXISTING_TABLE
Problemem jest istniejąca nazwa tabeli jest akceptowana przez parametr ...
I można uzyskać dane tabeli za pośrednictwem:
execute ('SELECT * FROM ' + @tableName)
ale jak mogę ożenić się z dwóch tak, że mogę umieścić wynikami wykonać bezpośrednio w tabeli temp.
Kolumny dla każdej tabeli, w której będzie to używane, nie są takie same, więc budowanie tabeli tymczasowej przed uzyskaniem danych nie jest możliwe.
Jestem otwarty na wszelkie sugestie oprócz użycia globalnej tabeli tymczasowej.
Aktualizacja:
Jest to całkowicie niedorzeczne, ale moja rezerwacja z globalnej tabeli temp, że jest to platforma multi użytkownik nadaje się do kwestii, czy tabela będzie utrzymywał się przez dłuższy czas ...
Sooo .. aby ominąć tę część, zacząłem od użycia execute do wygenerowania globalnej tabeli temp.
execute('select * into ##globalDynamicFormTable from ' + @tsFormTable)
Następnie używać globalnej tabeli temp załadować lokalnej tabeli temp:
select * into #tempTable from ##globalDynamicFormTable
Następnie upuść globalnej tabeli.
drop table ##globalDynamicFormTable
to jest brudne i nie podoba mi się to, ale na razie, dopóki nie otrzymam lepszego rozwiązania, jego będzie musiało działać.
W końcu:
Chyba nie ma sposobu, aby dostać się wokół niego.
Najlepszą odpowiedzią wydaje się być;
Utwórz polecenie , zobacz w komendzie execute i użyj go do załadowania lokalnej tabeli tymczasowej w procedurze przechowywanej.
Utwórz globalną tabelę tymczasową w komendzie execute i użyj jej do załadowania lokalnej tabeli temp.
Powiedziawszy, prawdopodobnie będę trzymać się globalnej tabeli tymczasowej, ponieważ tworzenie i upuszczanie widoków jest kontrolowane w mojej organizacji, i jestem pewien, że będą kwestionować to, jeśli zacznie się to dziać cały czas.
Dzięki!
Jaką wersję programu SQL Server używasz? –
Serwer sql 2005 – Patrick