Nee.
Als u dit uitvoert vanuit een andere database dan tempdb
je krijgt
Wat niet verwonderlijk is, aangezien alle gegevenspagina's enz. zich in de tempdb
. bevinden gegevensbestanden, zodat u deze niet kunt hernoemen om plotseling een permanente tabel in een andere database te worden.
Als u dit uitvoert vanuit tempdb
je krijgt
Als u EXEC sp_helptext sp_rename
. doet en kijk naar de definitie het relevante stukje code dat dit niet toestaat is
--------------------------------------------------------------------------
-------------------- 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
Waarom zou je niet eerst een permanente tafel maken en dan de naam wijzigen?