Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Spasi tidak diperbolehkan setelah awalan parameter ':'

Dari pengalaman saya, saya akan memberi tahu Anda. Ada dua skenario
1) Anda ingin menentukan parameter dalam kueri yang nilainya disetel secara dinamis.

eg: where user_id = :userId

Di sini Anda tidak akan mendapatkan masalah jika Anda mengatur parameter dengan nama yang sama dengan "userId";
2) Anda mengetik nilai

eg: select count(id) :: integer

ketika Anda melakukan ini, Anda harus menggunakan karakter pelarian jika tidak, hibernasi akan berpikir bahwa itu adalah parameter. Dan itu akan memberikan kesalahan "Semua parameter tidak disetel " Anda bisa mengatasinya dengan menulis kode menggunakan karakter escape

eg:select count(id) \\:\\: integer

Jadi ini akan menyelesaikan masalah Anda. Dan jika Anda salah menggunakan garis miring ke depan alih-alih garis miring ke belakang, Anda akan mendapatkan kesalahan "spasi tidak diizinkan setelah awalan"

Wrong: select count(id)//://: integer
Right: select count(id)\\:\\: integer

Tapi saya sangat menyarankan Anda untuk menggunakan fungsi CAST daripada menggunakan "::" operator ini select CAST(count(id) as integer) Ini adalah cara mengetik yang lebih baik dan akan menyebabkan kesalahan minimal



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan EF ke Oracle melempar ORA-12704:ketidakcocokan set karakter

  2. Pemicu pencegahan

  3. Oracle:Permintaan SQL untuk menemukan semua pemicu milik tabel?

  4. Bisakah MAX_UTILIZATION untuk PROSES tercapai menyebabkan Tidak dapat mendapatkan Pengecualian koneksi terkelola?

  5. Bisakah saya mengubah baris tanggal menjadi kolom tanpa harus menentukan tanggal di pivot? Oracle SQL