Динамический параметризованный запрос с похожим

Нормальный оператор присваивания работает нормально, но, поскольку операция не работает с нижеследующим запросом в хранимой процедуре, не удалось ли исправить ошибки в запросе?

При изменении только на 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 

Рабочий код:

 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; 

Вы должны объединить литералы '%' :

 AND APP_FRAMES.APP_EXT_CODE LIKE '%' || :IN_APP_EXT_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 LIKE ''%'' || :IN_APP_EXT_CODE || ''%'' ';