Nghĩa đen của bạn hoàn toàn là một varchar, vì vậy bạn không thể gán cho v_long_text giá trị lớn hơn chữ tối đa của varchar (độ dài varchar tối đa trong plsql là 32767).
Bạn có thể sử dụng phép nối:
DBMS_LOB.APPEND(v_long_text, 'very long string');
DBMS_LOB.APPEND(v_long_text, 'yet another long string');
Tất nhiên, tôi giả định rằng loại cột MYTABLE_NAME là CLOB
CẬP NHẬT: Mã mẫu:
DECLARE
v_long_text CLOB;
BEGIN
DBMS_LOB.CREATETEMPORARY(v_long_text,true);
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
INSERT INTO my_table VALUES (v_long_text);
END;