Предположим, у меня есть функция поиска в интерфейсе, написанном на Java. У меня есть текстовое поле, например, имя. Когда я передаю имя или символ, он работает нормально, но когда я передаю любой специальный символ, он не работает, потому что я отправляю этот параметр в процедуру оракула, которая использует динамический запрос.
Предположим, запрос в моей процедуре такой:
create or replace procedure abc
(abc IN table.name%type
,p_abc abc_cur
)
is
v_var varchar2(2000);
begin
v_var:='select * from table where name LIKE '%'NVL(p_name,name)'%'';
open c1 for v_var;
end abc;
Когда я передаю [%, _,.], Он выполняет поиск по символам подстановки, как вы видите в запросе.
Теперь, когда я пропускаю ['] только тогда, это дает исключение. Пожалуйста, сообщите мне решение, как справиться с этим, это бэкэнд, я не хочу рассматривать какие-либо специальные символы в запросе, и использование динамического запроса является обязательным.
ПРИМЕЧАНИЕ. См. Параметры в фигурных скобках [], разделенные запятой.
Я использую Oracle в качестве СУБД.