LightDB函数存储过程支持long类型

LightDB2024RP1版本里新增了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官网查看:

LightDB: 更快、更稳、更懂金融的分布式关系型数据库

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值