Hallo zusammen,
ich versuche über eine Procedure eine lange STRING (über 4000 Zeichen) in eine Tabellenspalte zu schreiben.
Das String wird über eine Variable eingelesen.
Die Procedur funktioniert, aber leider liest nicht alle meine eingegebenen Zeichen ein. Ich vermute dass bei 4000 Zeichen stopt.
Hat jemand eine Idee was falsch sein sollte?
mfg. f_mal
ich versuche über eine Procedure eine lange STRING (über 4000 Zeichen) in eine Tabellenspalte zu schreiben.
Das String wird über eine Variable eingelesen.
Code:
create or replace procedure p_langer_text (P_IDX IN NUMBER, P_TXT IN VARCHAR2) AS v_ErrorText log_table.message%TYPE; v_ErrorCode log_table.code%TYPE; g_clob CLOB; BEGIN INSERT INTO langer_text2 VALUES (P_IDX, empty_clob())RETURNING text INTO g_clob; dbms_lob.write( g_clob,length(P_TXT), 1, P_TXT); COMMIT; EXCEPTION WHEN OTHERS THEN v_ErrorCode := SQLCODE; v_ErrorText := SUBSTR(SQLERRM, 1, 200); INSERT INTO log_table (code, message, info) Values(v_ErrorCode, v_ErrorText, 'Another error occurred'); COMMIT; END p_langer_text;
Hat jemand eine Idee was falsch sein sollte?
mfg. f_mal
Comment