Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tại sao tôi không thể sử dụng một biến ràng buộc trong một câu lệnh thực thi ngay lập tức?

Biến ràng buộc dành cho các biến ràng buộc, không phải cho các đoạn mã ràng buộc. Ý tưởng là Oracle có thể biên dịch và lưu vào bộ đệm một truy vấn hoặc khối mã và thực thi nó nhiều lần với các tham số khác nhau.

Tuy nhiên, bạn cố gắng sử dụng liên kết tham số để thay thế công thức đã tính. Nó sẽ ngăn chặn việc biên dịch và lưu vào bộ nhớ đệm khối mã và do đó không được hỗ trợ.

Hơn nữa, nó không thể được diễn đạt bằng cú pháp hiện tại. Nếu Oracle thấy tmp := :f nó nghĩ rằng bạn chỉ muốn gán tham số f vào biến tmp . Nó không mong đợi phải đánh giá một chức năng.

Chỉ cần đi với giải pháp làm việc. Rốt cuộc thì nó vẫn hoạt động.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlplus:lỗi khi tải thư viện được chia sẻ:libsqlplus.so:không thể mở tệp đối tượng được chia sẻ:Không có tệp hoặc thư mục như vậy

  2. làm thế nào để chèn hình ảnh hoặc hình ảnh vào cơ sở dữ liệu oracle?

  3. cách chọn danh sách 10.000 id duy nhất từ ​​kép trong SQL oracle

  4. Lệnh gọi getColumnName (0) đơn giản ném Chỉ mục cột không hợp lệ:getValidColumnIndex

  5. Cách chuyển tham số đầu vào trong lệnh gọi thủ tục được lưu trữ từ một dòng lệnh