2016-04-12 3 views
0

Я создал блок данных с информацией о продукте. Я хочу выполнить поиск по идентификатору продукта; для этого я создал триггер на кнопке поиска.Фильтр поиска форм Oracle

declare 
    x varchar2(20); 
begin 

    X:= 'description=' || chr(39) || :inverntory.s || chr(39) ; 

    set_block_property('search', default_where, x); 

    execute_query ; 

end; 

когда я запускаю форму, которую она дает мне эту ошибку:

FRM 40735 when button pressed trigger raised unhanded exception ora-06502 

, что является неправильным с типом данных, или ...?

+0

Тип данных или что ...? –

+0

Я ищу эту ошибку из-за типа данных. Пожалуйста, помогите мне решить проблему. –

+0

Это последнее предложение, которое вы написали, закончилось словом «или». Было ли что-то еще, что ты собирался написать потом? –

ответ

0

Если у вас есть переменная блока данных, вы не должны ее конкатенации в строку WHERE. Это плохая практика. И у вас также есть давление на длину X. Просто привяжите его следующим образом:

declare 
    x varchar2(100); 
begin 
    X:= 'description=:inverntory.s'; 
    set_block_property('search', default_where, x); 
    execute_query ; 
end; 
Смежные вопросы