Thread Mit bind_param_inout Rückgabewert einer PL/SQL-Function holen (4 answers)
Opened by pernox77 at 2011-08-08 13:40

pernox77
 2011-08-10 13:46
#151466 #151466
User since
2010-10-03
11 Artikel
BenutzerIn
[default_avatar]
Ich habe jetzt mal versucht, den Aufruf soweit wie möglich zu vereinfachen, um den Fehler weiter einzugrenzen.
Mein Code im Perlscript sieht jetzt so aus:
Code (perl): (dl )
1
2
3
my $SQL = "BEGIN SLP_IMPORT.IMPORT2RESULTS; END;";
my $sth = $dbh -> prepare($SQL);
$sth -> execute();

Also kein Rückgabewert mehr, da es jetzt eine Prozedur ist.
Die Prozedur habe ich jetzt mit einem sehr einfachen INSERT gefüllt:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
INSERT INTO t_slpresults(
prob_id,
fk_slpresults_srdesc_key,
value_number,
commitdate)
VALUES(
122456,
65,
to_number('452.5'),
sysdate);

Die problematische Stelle ist die Zeile to_number('452.5'). Dafür bekomme ich die Meldung "...ungültige Zahl"

Da der Aufruf (ohne über das Perlskript zu gehen) funktiontiert, denke ich, dass ich beim Perlaufruf der Prozedur etwas falsch mache, bzw. anders machen muss.
Schreibe ich anstatt der Zeile to_number('452.5') direkt die Zahl als Value hin, funktioniert es. Leider liegt die Zahl aber als varchar2 in der DB.

Hat jemand einen Tipp?
Danke
Pernox77

View full thread Mit bind_param_inout Rückgabewert einer PL/SQL-Function holen