Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

mengganti nama tabel sementara menjadi tabel fisik

Tidak.

Jika Anda menjalankan ini dari database selain tempdb Anda mendapatkan

Yang tidak mengherankan karena semua halaman data dll. berada di tempdb file data sehingga Anda tidak dapat mengubah namanya menjadi tabel permanen di database lain.

Jika Anda menjalankan ini dari tempdb Anda mendapatkan

Jika Anda melakukan EXEC sp_helptext sp_rename dan lihat definisi, bit kode yang relevan yang melarang ini adalah

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

Mengapa Anda tidak membuat tabel permanen terlebih dahulu lalu mengganti namanya?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan kembali bidang alias dalam pernyataan SQL SELECT

  2. SQL Server XML ada()

  3. Alternatif untuk operator MAX pada bidang bit

  4. Mengapa penyetelan kinerja SQL adalah keterampilan manajemen basis data yang paling penting untuk dimiliki

  5. Gunakan Fungsi Konversi server sql untuk mengonversi tanggal hijriah ke gregorian