LightDB在2024RP1版本里新增了Oracle兼容数据类型LONG
LONG类型具有CLOB类型基本一致的功能特性
示例:
\dT+ long
List of data types
Schema | Name | Internal name | Size | Elements | Owner | Access privileges | Description
--------+------+---------------+------+----------+---------+-------------------+-------------
oracle | long | long | var | | lightdb | |
(1 row)
select dbms_output.serveroutput('t');
create or replace type sqlbindstrlist as table of varchar2(2000);
/
create or replace function sqlbindinwrapper(p_string in varchar2) return sqlbindstrlist as
v_pos number;
v_str long default p_string || ',';--字符变量申明为LONG类型
v_single_str varchar2(2000);
v_data sqlbindstrlist := sqlbindstrlist();
begin
loop
v_pos := instr(v_str, ',');
exit when(nvl(v_pos, 0) = 0);
v_single_str := substr(v_str, 1, v_pos - 1);
v_data.extend;
v_data(v_data.count) := substr(v_single_str,1,length(v_single_str));
v_str := substr(v_str, v_pos + 1);
end loop;
return(v_data);
end sqlbindinwrapper;
/
declare
mystrlist sqlbindstrlist;
begin
mystrlist := sqlbindinwrapper('value1,value2,value3,value4,value5,value6,value7,value8,value9,value10');
for i in 1 .. mystrlist.count loop
dbms_output.put_line(mystrlist(i));
end loop;
end;
/
--执行结果
value1
value2
value3
value4
value5
value6
value7
value8
value9
value10
drop function sqlbindinwrapper;
drop type sqlbindstrlist;
详细语法可参考LightDB官网查看: