Я работаю с Oracle 6i. Форма - это форма поиска, в ней есть много текстовых элементов для поиска по критериям, и при нажатии есть командная кнопка, форма покажет все записи, выбранные пользователем, некоторые элементы в текстовых элементах creteria,результат будет отфильтрован на основе этих creteria, теперь это сделано, и затем я хочу экспортировать результат в текстовый файл, используя следующий код
OUTFILE TEXT_IO.FILE_TYPE;
filename varchar2(100);
sql_string varchar2(8000);
a number(10);
begin
a := 0;
if :norm.Dob_fr is not null and :norm.Dob_to is not null then
sql_string := sql_string || ' (DATE_FROM >= to_date(''' || to_char(:norm.Dob_fr,'YYYY-MM-DD') || ''',''YYYY-MM-DD'') and date_to <= to_date(''' || to_char(:norm.Dob_to,'YYYY-MM-DD') || ''',''YYYY-MM-DD'')';
a := 1;
end if;
if :norm.per_fr is not null and :norm.per_to is not null then
if a = 1 then
sql_where := ' and ';
else
sql_where := ' ( ';
a := 1;
end if;
sql_string := sql_string || sql_where || ' pay_date >= to_date(''' || to_char(:norm.per_fr,'YYYY-MM-DD') || ''',''YYYY-MM-DD'') and pay_date <= to_date(''' || to_char(:norm.per_to,'YYYY-MM-DD') || ''',''YYYY-MM-DD'')';
end if;
sql_string := sql_string || ' ) ';
FOR SE IN ('select * from V_BILL_TRAN where ' || nvl(sql_string,'1=1') loop
код экспорта работает хорошо, но моя проблема впоследний оператор, показанный выше, оператор where "sql_string: он может содержать или не содержать данные, тогда код не принимается формой оракула 6i, что-то не так