No.
Se lo stai eseguendo da un database diverso da tempdb
ottieni
Il che non sorprende poiché tutte le pagine di dati ecc. si trovano nel tempdb
file di dati in modo da non essere in grado di rinominarlo per diventare improvvisamente una tabella permanente in un altro database.
Se lo stai eseguendo da tempdb
ottieni
Se esegui EXEC sp_helptext sp_rename
e guarda la definizione, il bit di codice rilevante che non consente questo è
--------------------------------------------------------------------------
-------------------- 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
Perché non dovresti creare una tabella permanente in primo luogo e poi rinominare?