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

Buat tabel temp secara dinamis berdasarkan hasil dari SP

Jawaban singkat:tidak, Anda tidak bisa melakukannya.

Anda harus terlebih dahulu mendeklarasikan tabel temp Anda dengan jumlah kolom yang tepat yang akan dikembalikan dari proc yang disimpan.

Solusinya adalah dengan menggunakan tabel persisten. Misalnya, Anda bisa memiliki tabel permanen di database Anda yang disebut someSPResults. Setiap kali someSP diubah untuk memiliki jumlah kolom keluaran yang berbeda, ubah format someSPResults sebagai bagian dari penerapan.

Kemudian Anda dapat melakukan ini:

insert into dbo.someSPresults
exec someSP

Atau di dalam someSP, Anda dapat memasukkan hasilnya langsung ke tabel someSPresults sebagai bagian normal dari eksekusi. Anda hanya perlu memastikan untuk mengidentifikasi secara tepat record mana dalam tabel someSPresults yang berasal dari setiap eksekusi someSP, karena proc yang tersimpan tersebut dapat diaktifkan beberapa kali secara bersamaan, sehingga membuang banyak data ke someSPresults.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah kinerja intermiten fungsi SQL Server

  2. SQL-Server:Apakah ada skrip SQL yang dapat saya gunakan untuk menentukan kemajuan proses pencadangan atau pemulihan SQL Server?

  3. Kueri Tab Silang dengan Kolom Dinamis di SQL Server 2008

  4. Meminta tabel SQL dengan nilai berbeda di kolom yang sama dengan ID yang sama

  5. Ganti kolom identitas dari int ke bigint