1、使用DEFAULT_WHERE:
DECLARE
V_DEFAULT_WHERE VARCHAR2(32767); V_WHERE VARCHAR2(32767);BEGIN --获取系统默认的查询条件 V_DEFAULT_WHERE := GET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK, DEFAULT_WHERE); --根据查询条件是否有WHERE拼接SQL IF V_DEFAULT_WHERE IS NULL THEN V_WHERE := V_DEFAULT_WHERE || ' WHERE 1 = 1 '; ELSE V_WHERE := V_DEFAULT_WHERE || ' AND 1 = 1 '; END IF; --拼接其它查询条件 BEGIN-- -- -- --拼接其它查询条件 END-- SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK, DEFAULT_WHERE, V_WHERE); --将新的查询条件赋值给这个BLOCK的DEFAULT_WHERE进行查询 --清空,否则FORM下次查询的时候会把前一次的条件带入 CLEAR_RECORD; EXECUTE_QUERY; --将原默认的DEFAULT_WHERE值重新恢复回去 SET_BLOCK_PROPERTY(:SYSTEM.CURSOR_BLOCK, DEFAULT_WHERE, V_DEFAULT_WHERE);END;2、…
3、…