[英]Dynamic parameterized query with like
The Normal assignment operator is working fine but like operation is not working with below query in a Stored Procedure, Could you correct what is wrong with the query? 普通赋值运算符工作正常,但就像该操作不适用于存储过程中的以下查询,您可以更正查询的问题吗?
On changing only to LIKE Operator below query based procedure throws exception 在仅更改为LIKE Operator的情况下,基于查询的过程将引发异常
AND APP_FRAMES.APP_EXT_CODE =:IN_APP_EXT_CODE%; -- working
AND APP_FRAMES.APP_EXT_CODE LIKE %:IN_APP_EXT_CODE%; -- not working
Working Code: 工作代码:
QUERY_STR := 'select * from APP_FRAME_PROPERTIES,APP_FRAMES
Where APP_FRAME_PROPERTIES.APP_EXT_CODE = APP_FRAMES.APP_EXT_CODE
AND APP_FRAMES.APP_EXT_CODE =:IN_APP_EXT_CODE';
OPEN OUT_RESULT FOR QUERY_STR USING IN_APP_EXT_CODE;
You have to concatenate the '%'
literals: 您必须连接
'%'
文字:
AND APP_FRAMES.APP_EXT_CODE LIKE '%' || :IN_APP_EXT_CODE || '%';
The whole query would be: 整个查询将是:
QUERY_STR := 'select * from APP_FRAME_PROPERTIES,APP_FRAMES
Where APP_FRAME_PROPERTIES.APP_EXT_CODE = APP_FRAMES.APP_EXT_CODE
AND APP_FRAMES.APP_EXT_CODE LIKE ''%'' || :IN_APP_EXT_CODE || ''%'' ';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.