SQL Server で varchar2(8000) のテキスト フィールドからデータを挿入しようとしています。同様の列を作成しましたが、Oracle db で clob データ型を使用しています。一貫性のないデータ型の問題を解決し、クエリのパフォーマンスを改善するのを手伝ってもらえますか? 複数の行に巨大なテキスト ファイルを挿入するための他の良い方法があれば教えてください。SQL Server と Oracle データベースで同じクエリを実行すると (つまり、TBL_NOTES@PPRLEG から "Note" を選択すると)、結果がすぐに取得されます。データを挿入しようとすると、時間がかかり、終了しません。ここでは、クロブを含む列のみを指定し、残りを処理する必要があります。
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;
/