sql >> Databasteknik >  >> RDS >> Sqlserver

byta namn på ett temporärt bord till ett fysiskt

Nej.

Om du kör detta från en annan databas än tempdb du får

Vilket inte är förvånande eftersom alla datasidor etc. finns i tempdb datafiler så att du inte skulle kunna byta namn på detta till att plötsligt bli en permanent tabell i en annan databas.

Om du kör detta från tempdb du får

Om du gör EXEC sp_helptext sp_rename och titta på definitionen som den relevanta kodbiten som inte tillåter detta är

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

Varför skulle du inte bara skapa en permanent tabell i första hand och sedan byta namn?



  1. Hur ansluter och hämtar jag data från Google Cloud SQL med PHP?

  2. PHP OOP-problem med databasen

  3. Skicka data från Kafka Topic till PostgreSQL i JSON

  4. Mysql Välj rader där två kolumner inte har samma värde