Datenbank rückwärts durchsuchen

lindin

Erfahrenes Mitglied
Hallo, ich habe ein Problem!

Ich durchsuche mit java eine Oracle Datenbank. Dazu benutze ich auch eine auf eine Spalte eine funktion.

Jetzt funktioniert diese Funktion an irgendeiner stelle nicht. Und es wird mir der Fehler zurückgegeben, daß es einen numerischen Fehler in der Funktion in Zeile x ist.

Nun wollte ich einfach bei der Suche die Zeile ausschließen, an der der Fehler auftritt.
Aber ich weiss eben nicht, an welcher Stelle der Fehler in der Abfrage passiert, sondern nur in der Funktion. Die Funktion möchte ich aber nicht bearbeiten.

Ich weiß, welche Zeile bearbeitet wird, bevor der Fehler auftritt. Aber ich weiß nicht wie die Selektion abläuft. Also in welcher Reihenfolge die Ergebnisse dann herauskommen.

Also wie bekomme ich die Zeile heraus?
 
Hallo!

Kannst du vielleicht mal ein paar Beispieldatensätze angeben und genauer Beschreiben welche Funktion du verwendest und in welcher Spalte es zu Problemen kommt...?

Gruß tom
 
Hallo!

Vielleicht hilft dir ja das hier:
Code:
create table abc (id int, data varchar(10));

insert into abc values (0,'10');
insert into abc values (1,'2');
insert into abc values (2,'13');
insert into abc values (3,'12');
insert into abc values (4,'AA');
insert into abc values (5,'14');
insert into abc values (6,'199');
insert into abc values (7,'EE');

set serveroutput on;

CREATE OR REPLACE PROCEDURE test IS
BEGIN
   DECLARE
      CURSOR c IS SELECT id,data FROM abc;
      num NUMBER;
   BEGIN
      FOR abc_rec IN c LOOP
      BEGIN
        num := to_number(abc_rec.data);
	EXCEPTION
	   WHEN value_error THEN --Wenn der Wert nicht in eine Zahl konvertiert werden konnte...
              dbms_output.put_line('Failed to convert row with id: ' || abc_rec.id); 
        END;
      END LOOP;
   END;
END;
/

show errors;
exec test;

Ausgabe:
Failed to convert row with id: 4
Failed to convert row with id: 7

PL/SQL procedure successfully completed.

Kannst du ja dann an deine Bedürfnisse anpassen.
Ausprobiert unter:
Oracle9i Release 9.2.0.3.0 - Production
HTH
Gruß Tom
 

Neue Beiträge

Zurück