Click here to Skip to main content
15,886,137 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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 WHERE';

IF P_ORDERDATE IS NOT NULL THEN
STMT := STMT || ' and ODR.ORDER_DATE like ''%' || P_ORDERDATE || '%''';
END IF;

IF P_USER IS NOT NULL THEN
STMT := STMT || ' and ODRBILLSHIP.S_FNAME like ''%' || P_USER || '%''';
END IF;

IF P_ORDERSTATUS IS NOT NULL THEN
STMT := STMT || ' and ODR.ORDER_STATUS like ''%' || P_ORDERSTATUS || '%''';
END IF;

IF P_PAYMENTSTATUS IS NOT NULL THEN
STMT := STMT || ' and ODR.PAYMENT_STATUS like ''%' || P_PAYMENTSTATUS || '%''';

END IF;

EXECUTE IMMEDIATE STMT;

-- DBMS_OUTPUT.PUT_LINE(STMT);



END SP_SEARCH_ORDERS;



how to execute string query ,its giving error that missing keyword.
any help appreciated,
Posted
Comments
Umer Akram 29-Jan-15 5:54am    
can you share the exact error ?

1 solution

Ok. When you use a "join" (inner join) you must specify the cross condition.
TVE correcta clase es:
Select ...
From table1 join table2 en table1.column = table2.columnas
Where...

You hace missed the ON clause
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900