Uzyskaj strukturę tabeli temp (np. Generuj skrypt sql) i wyczyść tabelę temp dla bieżącej instancji
Jak uzyskać strukturę tabeli tymczasowej, a następnie usunąć tabelę tymczasową. Czy istnieje sp_helptext dla tabel tymczasowych? Wreszcie, czy można następnie usunąć tabelę tymczasową w tym samym oknie sesji lub zapytania?
Przykład:
select *
into #myTempTable -- creates a new temp table
from tMyTable -- some table in your database
tempdb..sp_help #myTempTable
5 answers
Musisz użyć cudzysłowów wokół nazwy tabeli tymczasowej i możesz usunąć tabelę tymczasową bezpośrednio po użyciu drop table ...
.
select *
into #myTempTable -- creates a new temp table
from tMyTable -- some table in your database
exec tempdb..sp_help '#myTempTable'
drop table #myTempTable
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-24 06:50:16
O ile wiem, że nie ma SP_HelpText dla tabel. Spróbuj tego:
Select * From tempdb.sys.columns Where object_id=OBJECT_ID('tempdb.dbo.#myTempTable');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-24 08:48:24
Musiałem być w stanie odtworzyć tabelę tymczasową w skrypcie, więc użyłem kodu generującego kolumny części instrukcji CREATE TABLE:
SELECT char(9) + '[' + c.column_name + '] ' + c.data_type
+ CASE WHEN c.data_type IN ('decimal')
THEN isnull('(' + convert(varchar, c.numeric_precision) + ', ' + convert(varchar, c.numeric_scale) + ')', '')
ELSE '' END
+ CASE WHEN c.IS_NULLABLE = 'YES' THEN ' NULL' ELSE '' END
+ ','
From tempdb.INFORMATION_SCHEMA.COLUMNS c
WHERE TABLE_NAME LIKE '#myTempTable%'
Nie testowałem wszystkich typów danych sql, ale to działało dla int, float, datetime, money I bit.
Również - ApexSQL Complete (darmowy) ma fajną funkcję, w której możesz wyeksportować wyniki siatki do Instrukcji Insert Into
. Użyłem tego do załadowania tej utworzonej tabeli temp w moim skrypcie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-21 20:48:31
Exec sp_columns table_name;
Przykład
Exec sp_columns;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-16 05:33:26
Select * From tempdb.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE '#yourtemp%'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-30 06:00:47