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

Sql Server 2008:Kesalahan aneh dalam prosedur tersimpan

Anda tidak dapat menggunakan variabel dalam order by ayat. Sebagai gantinya, Anda harus melakukan sesuatu seperti:

order by (case when @groupBy = 'VRNOA' then VRNOA
               . . .
          end)

Namun, berhati-hatilah, karena jika kolomnya memiliki tipe yang berbeda, hal yang tidak terduga mungkin terjadi atau mungkin mendapatkan kesalahan lain. (Ada alternatif untuk menggunakan SQL dinamis, tetapi saya tidak akan merekomendasikannya.)

Juga, nama @groupby agak menyesatkan. "Pengelompokan" adalah istilah SQL yang setara dengan "agregasi". Tidak akan @OrderBy atau @SortBy lebih tepat?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasil prosedur tersimpan SQL Server 2008 sebagai nilai default kolom

  2. Menerapkan keamanan aplikasi - App Level &DB level (ASP .NET &SQL Server 08)

  3. Batasan multiplisitas dilanggar. Peran Child_Parent_Target dari hubungan Child_Parent memiliki multiplisitas 1 atau 0.1

  4. jeda baris hilang di server sql

  5. Memahami hubungan antara fungsi peringkat, OVER(), GROUP BY?