@tableName
zmienne Tabela żyją na czas trwania skryptu działa tylko to, że są tylko obiekty poziomie sesji.
Aby to sprawdzić, otwórz dwa okna edytora zapytań w ramach serwera zarządzania serwerami sql i utwórz zmienne tabel o tej samej nazwie, ale o różnych strukturach. Dostaniesz pomysł. Obiekt @tableName
jest zatem tymczasowy i służy do wewnętrznego przetwarzania danych i nie przyczynia się do faktycznej struktury bazy danych.
Istnieje inny typ obiektu tabeli, który można utworzyć do tymczasowego użytku. Są #tableName
obiekty zadeklarowane niczym podobnym oświadczeniem stworzyć dla tabel fizycznych:
Create table #test (Id int, Name varchar(50))
Ta tabela obiekt jest tworzone i przechowywane w bazie temp. W przeciwieństwie do pierwszego, ten obiekt jest bardziej przydatny, może przechowywać duże ilości danych i bierze udział w transakcjach itp. Tabele te są aktywne, dopóki połączenie nie zostanie otwarte. Musisz upuścić utworzony obiekt, wykonując poniższy skrypt przed ponownym jego utworzeniem.
IF OBJECT_ID('tempdb..#test') IS NOT NULL
DROP TABLE #test
Mam nadzieję, że to ma sens!
Tylko słowo ostrzeżenia: zmienna tabeli nie może być zapisana w pamięci. To mit. – JohnFx
Czy możesz podać kod, który dotychczas posiadasz, abyśmy mogli odpowiedzieć na twoje pytanie? – JohnFx
@JohnFx Nie wykonałem kodu dla utworzenia zmiennej tabeli. Zrobiłem procedurę przechowywaną i po jej uruchomieniu otrzymałem kilka nazw kolumn, teraz chcę, aby te nazwy kolumn były przechowywane w zmiennej tabeli. A jeśli nie zawsze jest w pamięci, to jak mogę znaleźć to w mojej bazie danych, przepraszam za kłopot, jestem nowy w SQL. Proszę pomóż. – Pankaj