本文介绍了如何在oracle中实现动态字符串查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

PROCEDURE SP_SEARCH_ORDERS(

O_RESULT OUT SYS_REFCURSOR,

P_ORDERDATE DATE,

P_USER VARCHAR2,

P_ORDERSTATUS VARCHAR2 ,

P_PAYMENTSTATUS VARCHAR2



AS

STMT VARCHAR2(4000);



BEGIN



STMT:='SELECT * FROM TBL_ORDERS ODR JOIN TBL_ORDERBILLING_SHIPPING ODRBILLSHIP';



如果P_ORDERDATE不为空那么

STMT:= STMT || '和ODR.ORDER_DATE一样''%'|| P_ORDERDATE || '%''';

结束IF;



如果P_USER不为空那么

STMT:= STMT || '和ODRBILLSHIP.S_FNAME喜欢''%'|| P_USER || '%''';

结束IF;



如果P_ORDERSTATUS不为空那么

STMT:= STMT || '和ODR.ORDER_STATUS一样''%'|| P_ORDERSTATUS || '%''';

结束IF;



如果P_PAYMENTSTATUS不为空那么

STMT:= STMT || '和ODR.PAYMENT_STATUS一样''%'|| P_PAYMENTSTATUS || '%''';



结束IF;



执行即时STMT;



- DBMS_OUTPUT.PUT_LINE(STMT);







END SP_SEARCH_ORDERS;







如何执行字符串查询,其给出的错误是缺少关键字。

任何帮助,

解决方案


这篇关于如何在oracle中实现动态字符串查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 15:36