나는 다음과 같은 코드로 (기능에 따라) 클래식 보고서를 만드는 오전 :오라클 APEX 오류 ORA-01460 ORA-02063
declare
q long;
begin
-- The query with any conditions always applied
q := 'select * from name_selection_atnd where 1 = 1';
-- If all items are null then kill query
if :P500_FN is null
and :P500_LN is null
then
q := q || ' and name_said = 0'; --will always return 0 rows
end if;
-- Append any optional conditions
if :P500_FN is not null then
q := q || ' and name_first_name = :P500_FN';
end if;
if :P500_LN is not null then
q := q || ' and name_last_name = :P500_LN';
end if;
return q;
end;
내 마지막 코드는 첫 번째와 마지막 외에 검색하기 위해 더 많은 항목을 포함해야합니다 이름이지만 지금은이 두 매개 변수로 테스트하고 있습니다. 이름 만 입력하면 검색이 작동합니다. 성을 채울 때만 작동합니다. 첫 번째 성을 입력하면 ORA-01460 및 ORA-02063 오류가 발생합니다.
내가 잘못 할 수 있습니까?
'P500_FN'에 무엇을 입력하고 있습니까? 왜 어디서나 바인드 변수를 사용하고 있습니까? declare에서 한 번만 사용하여 바인드 변수에서 로컬 변수로 값을 가져옵니다. 그 변수들에 대한 비교를해라. –
문자열을 입력하고 있습니다. 그냥 사람의 첫 번째 이름 –
코드가 아닌 전체 오류 메시지를 줄 수 있습니까? – MT0