Hier ist meine Ahnung ... Ich bin auf Orakel 11g. Viel gesucht, aber nichts gefunden.ORA-01461 (mit> 4k varchar2) Fehler Nur in Merge-Anweisung. Einfügen oder Aktualisieren funktioniert gut
Ich muss DML-Operationen ausführen, die Daten> 4k Zeichen enthalten können.
Wenn ich eine SQL-Block verwenden, befindet sich direkt im Orakel, wie die nächste, funktioniert alles einwandfrei
declare
txtV varchar2(32000);
BEGIN
txtV:= 'MORE THAN 4k CHARS, here only few for readability' ;
Update FD_FILTERDEF
set SQLFILTER = txtV
where id='blabla';
END;
ABER !!! wenn ich Merge-Anweisung verwenden, gibt es mir ORA-01461
declare
txtV varchar2(32000);
BEGIN
txtV:= '' ;
MERGE INTO FD_FILTERDEF A
USING (select txtV C0
from dual) ST
ON (A.CODE = 'bla bla')
WHEN MATCHED THEN
Update set A.SQLFILTER = st.C0
WHEN NOT MATCHED THEN
insert (CODE ,SQLFILTER)
values ('bla bla' , ST.C0 );
END;
Fehler Wenn einige Hinweis geschätzt :) dieses
Bitte zeigen Sie Ihre Tabellendefinition – OldProgrammer
Was ist die Art von 'fd_filterdef.sqlfilter'? Ein 'Clob' vielleicht? – user272735
FD_FILTERDEF.SQLFILTER ist ein CLOB Spalte – Sabbe