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.