我是使用oracle CLOB的初学者。我试图使用将返回clob的函数设置顶点值。我使用sql plus运行此函数并且没有错误但是当我使用它来设置项目(文本区域)值时,它会给我numeric or value error
。更清楚的是这里的代码:
CREATE FUNCTION MY_FUNCTION RETURN clob IS
v_clob CLOB;
BEGIN
for a in 1..1000000 LOOP
v_clob:= v_clob|| to_char(a) || '|';
END LOOP;
RETURN v_clob;
END;
有没有办法让这项工作成功?是因为文本区域不足以容纳CLOB的价值还是其他东西?我相信一个文本区域项目可以容纳很多(数百万)字符所以我不知道什么是错的..
答案 0 :(得分:1)
对您的功能进行小修改..
CREATE or replace FUNCTION MY_FUNCTION RETURN CLOB IS
v_clob CLOB;
BEGIN
for a in 1..100000 LOOP
v_clob:= v_clob|| to_char(a) || '|';
END LOOP;
RETURN v_clob;
END;
用于运行功能
select my_function() from dual