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

SQL:Kesalahan, batas layanan Ekspresi tercapai?

Masalah ini terjadi karena SQL Server membatasi jumlah pengidentifikasi dan konstanta yang dapat dimuat dalam satu ekspresi kueri. Batasnya adalah 65.535. Tes untuk jumlah pengidentifikasi dan konstanta dilakukan setelah SQL Server memperluas semua pengidentifikasi dan konstanta yang direferensikan. Di SQL Server 2005 dan di atasnya, kueri secara internal dinormalisasi dan disederhanakan. Dan itu termasuk *(asterisk), kolom yang dihitung, dll.

Untuk mengatasi masalah ini, tulis ulang kueri Anda. Referensikan lebih sedikit pengidentifikasi dan konstanta dalam ekspresi terbesar dalam kueri. Anda harus memastikan bahwa jumlah pengidentifikasi dan konstanta di setiap ekspresi kueri tidak melebihi batas. Untuk melakukan ini, Anda mungkin harus memecah kueri menjadi lebih dari satu kueri. Kemudian, buat hasil antara sementara.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dampak pada aplikasi dalam migrasi dari sql server 2005 ke 2008

  2. Mengapa Kesalahan:[ODBC Driver Manager] Nama sumber data tidak ditemukan...? (berfungsi dengan baik di lingkungan dev)

  3. Tidak dapat mengakses instance SQL Server 2008 R2 dari jarak jauh

  4. Bagaimana cara mengekspor data dari SQL Server 2008.2010 dalam DML (skrip SQL)?

  5. datetime2 vs datetimeoffset di SQL Server:Apa Perbedaannya?