Nie.
Jeśli uruchamiasz to z bazy danych innej niż tempdb
dostajesz
Co nie jest zaskakujące, ponieważ wszystkie strony danych itp. znajdują się w tempdb
plików danych, więc nie będziesz w stanie zmienić nazwy, aby nagle stała się stałą tabelą w innej bazie danych.
Jeśli uruchamiasz to z tempdb
dostajesz
Jeśli wykonasz EXEC sp_helptext sp_rename
i spójrz na definicję, odpowiedni fragment kodu, który nie zezwala na to, to
--------------------------------------------------------------------------
-------------------- PHASE 32: Temporay Table Isssue -------------------
--------------------------------------------------------------------------
-- Disallow renaming object to or from a temp name (starts with #)
if (@objtype = 'object' AND
(substring(@newname,1,1) = N'#' OR
substring(object_name(@objid),1,1) = N'#'))
begin
COMMIT TRANSACTION
raiserror(15600,-1,-1, 'sys.sp_rename')
return 1
end
Dlaczego po prostu nie utworzysz stałego stołu, a potem nie zmienisz nazwy?