Một tùy chọn là sử dụng WITH
mệnh đề để gán các tham số của bạn cho một bảng giả.
WITH tmp_parms AS (
SELECT ? as fr_dt, ? as to_dt, ? as p_comp_code,
? as fr_cat, ? as to_cat, ? as p_sub_code
FROM dual
)
SELECT C.COMP_CODE,C.MATCODE, ... etc
FROM tmp_parms tp,
(
SELECT A.COMP_CODE,A.MATCODE, ... etc
Hoặc nếu bạn muốn một chế độ xem nội tuyến khác:
SELECT C.COMP_CODE,C.MATCODE, ... etc
FROM (
SELECT ? as fr_dt, ? as to_dt, ? as p_comp_code,
? as fr_cat, ? as to_cat, ? as p_sub_code
FROM dual
) tp,
(
SELECT A.COMP_CODE,A.MATCODE, ... etc
Và sau đó thay thế tất cả các biến ràng buộc hiện có bằng các tham chiếu đến cột tương đương từ bảng parms tạm thời, tức là thay đổi điều này:
b.grn_date<=:TO_DT)
về điều này:
b.grn_date<=tp.to_dt)