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

membuat tabel #temp secara dinamis dan kemudian digunakan untuk memasukkan data

Ini karena cakupan EXEC pernyataan berbeda dengan ruang lingkup sproc yang mengandung. Yaitu, panggilan Anda ke EXEC sedang membuat tabel sementara, dan kemudian secara otomatis dihapus sebagai ruang lingkup untuk EXEC tersisa. Pada dasarnya Anda harus melakukan banyak hal di dalam satu EXEC pernyataan:

DECLARE @sql VARCHAR(MAX)
SET @sql = 'SELECT * INTO #temp
            FROM ' + @PKSchema + '.dbo.' + @PKTableName + ' WHERE 1<>1
            INSERT INTO #temp ...'

EXEC(@sql)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berapa ukuran yang Anda gunakan untuk varchar(MAX) dalam deklarasi parameter Anda?

  2. Filegroup Utama Penuh dalam Standar SQL Server 2008 tanpa alasan yang jelas

  3. Cara Memperbaiki "Server tidak dikonfigurasi untuk AKSES DATA" di SQL Server

  4. Menggunakan UNION ALL di STUFF / XML Path

  5. Cara Mengatur Warna Bilah Status di SSMS untuk Berbagai Instance SQL Server - Tutorial SQL Server / TSQL Bagian 6