我正在尝试从 sql server 上的 varchar2(8000) 文本字段插入数据。我在 oracle db 上创建了一个类似的列,但属于 clob 数据类型。你能帮我解决不一致的数据类型问题并提高查询的性能吗?请让我知道是否有任何其他更好的方法可以为多行插入巨大的文本文件。当我在 sql server 和 oracle db 上运行相同的查询(即从 TBL_NOTES@PPRLEG 中选择“Note”)时,可以快速检索结果。当我尝试插入数据时,它需要很长时间并且不会结束。我应该只在此处给出包含 clob 的列,它应该处理其余的。
CREATE OR REPLACE FUNCTION get_clob_data
(id in TBL_NOTES.id%TYPE,
REPORT_ID in TBL_NOTES.REPORT_ID%type,
UNIQUE_ID in TBL_NOTES.UNIQUE_ID%type,
USER_ID in TBL_NOTES.USER_ID%type,
DTS in TBL_NOTES.USERROLE%type,
USEREIN in TBL_NOTES.USERROLE%type
)
RETURN varchar2
IS
l_text varchar2(4000);
Type t_note_txt IS TABLE OF TBL_NOTES.NOTE%type;
v_notes t_note_txt;
BEGIN
SELECT ltrim(rtrim("NOTE"))NOTE
bulk collect into v_notes
FROM TBL_NOTES@PPRLEG;
for indx in 1..v_notes.count
loop
l_text := l_text || ' ' ||v_notes(indx);
end loop;
RETURN l_text;
END;
/