sql >> Database teknologi >  >> RDS >> Sqlserver

omdøbe et midlertidigt bord til et fysisk

Nej.

Hvis du kører dette fra en anden database end tempdb du får

Hvilket ikke er overraskende, da alle datasider osv. er i tempdb datafiler, så du ikke ville være i stand til at omdøbe dette til pludselig at blive en permanent tabel i en anden database.

Hvis du kører dette fra tempdb du får

Hvis du gør EXEC sp_helptext sp_rename og se på definitionen, den relevante kodebit, der ikke tillader dette, er

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

Hvorfor ville du ikke bare oprette en permanent tabel i første omgang og derefter omdøbe?



  1. Hvordan indstilles en betinget DEFAULT-værdi til en kolonne i oracle uden at bruge triggere?

  2. Gendan en SQL Server 2000-sikkerhedskopi på SQL Server 2012

  3. Er der en tilsvarende for SQL Servers @@-fejl i MySQL

  4. mysql regexp returnerer boolesk i stedet for værdi