michael: oracle - globale variable

Beitrag lesen

vielleicht kann mir ja jemand von euch weiterhelfen. habe zwei Variablen im Header eines Package deklariert
(wie hier: g_variabe tabellenname.spalte%type;)

in einer Insert-Prozedur (gleiches Package), die zwei id´s in eine Tabelle einfügt, sollen diese id´s den globalen Variablen zugewiesen werden
(wie hier:
procedure i_tabelle(v_id in number) as
    begin
  insert into tabelle ( id)
  values (v_id);
                g_variable:=v_id;

end;

)

Die globalen Variablen brauche ich für einen Statement Trigger, der auf dieser Tabelle aufsetzt. bei jedem Eintrag nimmt er die beiden id´s, ruft über sie aus einer anderen Tabelle jeweils einen Kilometerstand ab, addiert die beiden km und soll sie in die zweite Tabelle zurück schreiben.
Da beim Einfügen der beiden id´s ein Fehler auftritt (keine Daten gefunden, Unterabfrage für eine Zeile liefert mehr als eine Zeile), wollte ich mir mal den Inhalt der beiden globalen Variablen ausgeben lassen.

über sql*plus:

SQL> set serveroutput on
SQL> execute dbms_output.put_line (packagename.g_variable);

PL/SQL-Prozedur erfolgreich abgeschlossen.

Weiter wird nichts angezeigt. nächster Versuch mit einem anderen Aufruf bringt folgende Fehlermeldung:

SQL> execute dbms_output.put_line ('out' + packagename.g_variable);
BEGIN dbms_output.put_line ('out' + packagename.g_variable); END;

*
FEHLER in Zeile 1:
ORA-06502: PL/SQL: numerischer oder Wertefehler: Fehler beim Konvertieren von
Zeichen zu Zahl
ORA-06512: in Zeile 1

Da ich nicht an den "Inhalt" der globalen Variablen komme (durch falschen Aufruf?), komme ich mit der Fehlersuche meines Triggers auch nicht weiter. Hoffe hier findet sich jemand, der etwas Zeit und Lust hat ;) und mir einen guten Rat geben kann.

Danke.