这是我的线索……我在使用 oracle 11g。搜索了很多,但没有找到。
我需要执行 DML 操作,其中可以包含 > 4k 个字符的数据。
如果我直接在 oracle 中使用 sql 块,就像下一个一样,一切正常
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;
但!!!如果我使用合并语句,它会给我错误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;
如果有一些提示将不胜感激:)