Je crée un rapport classique (basé sur la fonction) avec le code suivant:erreur Oracle 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;
Mon code final devra contenir d'autres éléments à rechercher en plus premier et dernier nom mais pour l'instant je teste avec juste ces deux paramètres. Lorsque je ne remplis qu'un prénom, la recherche fonctionne. Quand je remplis seulement un nom de famille, cela fonctionne. Lorsque je tape un prénom et un nom, j'obtiens l'erreur ORA-01460 et ORA-02063.
Que pourrais-je faire de mal?
Qu'est-ce que vous entrez pour 'P500_FN'. pourquoi utilisez-vous la variable de liaison partout. Utilisez une seule fois dans declare pour obtenir la valeur de bind variable dans une variable locale. faire des comparaisons sur ces variables. –
Je tape une chaîne. Juste le prénom d'une personne –
Pouvez-vous donner les messages d'erreur complets plutôt que les codes? – MT0