sql >> Databáze >  >> RDS >> Sqlserver

přejmenování dočasné tabulky na fyzickou

Ne.

Pokud to spouštíte z jiné databáze než tempdb získáte

Což není překvapivé, protože všechny datové stránky atd. jsou v tempdb datové soubory, takže byste to nemohli přejmenovat, aby se najednou staly trvalou tabulkou v jiné databázi.

Pokud to spouštíte z tempdb získáte

Pokud provedete EXEC sp_helptext sp_rename a podívejte se na definici příslušného bitu kódu, který to neumožňuje, je

--------------------------------------------------------------------------  
 --------------------  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  

Proč byste nejprve nevytvořili trvalou tabulku a poté ji nepřejmenovali?



  1. Vložte více řádků výchozích hodnot do tabulky

  2. Tomcat 9 s Apache DBCP + Spring 5 + Oracle 12c + SqlArrayValue

  3. android.database.sqlite.SQLiteCantOpenDatabaseException:neznámá chyba (kód 14):Nelze otevřít databázi

  4. 3 způsoby, jak zálohovat databázi SQLite