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

Mengapa saya tidak dapat menggunakan variabel bind dalam pernyataan langsung yang dieksekusi?

Variabel ikat adalah untuk mengikat variabel, bukan untuk mengikat potongan kode. Idenya adalah Oracle dapat mengkompilasi dan men-cache kueri atau blok kode dan mengeksekusinya beberapa kali dengan parameter yang berbeda.

Namun, Anda mencoba menggunakan pengikatan parameter untuk mengganti rumus yang dihitung. Ini akan mencegah kompilasi dan caching blok kode dan karenanya tidak didukung.

Selain itu, tidak dapat diekspresikan dengan sintaks saat ini. Jika Oracle melihat tmp := :f sepertinya Anda ingin menetapkan parameter f ke variabel tmp . Itu tidak mengharapkan harus mengevaluasi suatu fungsi.

Ikuti saja solusi yang berfungsi. Bagaimanapun, ini berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Format Tanggal Oracle

  2. Paranthesis kanan hilang pada perintah Create Table SQL

  3. oracledb merantai panggilan sql menggunakan janji

  4. Pisahkan kolom menjadi beberapa baris

  5. Cara Memisahkan String di Oracle