如何在oracle中使用sys_refcursor创建动态sql

时间:2017-08-11 08:06:36

标签: oracle

我有返回sys_refcursor的函数我给你我的代码示例。

 function myfunc( p_city           IN VARCHAR2,
p_order           IN VARCHAR2)
RETURN SYS_REFCURSOR IS
    v_result          SYS_REFCURSOR;
begin
OPEN v_result FOR WITH all_prb AS(
select * from tableA ta inner join tableB tb)


'select * from all_prb ff where (:p_city is null or (LOWER(ff.city) like ''%''||:p_city||''%'') ) order by ' || p_order || 'asc' using p_city,p_city;
return v_result;
end myfunc;

当我尝试编译它时,我有ORA-00928: missing SELECT keyword这个错误的目标行我有动态sql 'select * from all_prb ff where ...'

我如何修复它,如何编写正确的动态sql?我正在编写动态sql用于订购。

0 个答案:

没有答案