我有一个过程,它根据用户输入的文本构建查询的where子句,以及一个连接查询和where子句并返回refcursor的函数。这适用于少量行,但如果用户要输入通配符或搜索具有100k +行的字段,则光标返回的速度很慢。有没有更好的方法来做这个没有引用游标,或改善打开光标的方法?谢谢!
CREATE OR REPLACE PACKAGE BODY schema.query_builder
AS
FUNCTION input_cur (search_value_in IN VARCHAR2, search_name_in IN VARCHAR2)
RETURN ref_cursor
IS
refcursor ref_cursor;
whereclause VARCHAR2(2048);
BEGIN
buildwhereclause(search_value_in,search_name_in, whereclause);
OPEN refcursor FOR 'SELECT COL1, COL2, COL3, ...COL25
FROM VIEW ' || whereclause;
return refcursor;
END input_cur;
END query_builder;
/