Oracle中怎么实现类似数组的功能,比如存储过程我传入一个长字符串,按照固定格式拆分成多个
Oracle中怎么实现类似数组的功能,比如存储过程我传入一个长字符串,按照固定格式拆分成多个,然后写游标,把拆分出来的每个小字符串到条件执行语句...
Oracle中怎么实现类似数组的功能,比如存储过程我传入一个长字符串,按照固定格式拆分成多个,然后写游标,把拆分出来的每个小字符串到条件执行语句
展开
1个回答
展开全部
给你个存储过程
CREATE PROCEDURE p_split
@c varchar(8000),
@split varchar(5)
as
declare @t table( word varchar(20) )
begin
while(charindex(@split,@c)<>0)
begin
insert @t( word) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'') -- 删除指定长度的字符并在指定的起始点插入另一组字符
end
insert @t(word) values (@c) ---最后一个不含分隔的加进来
select distinct * from @t
end
GO
还是用表变量
CREATE PROCEDURE p_split
@c varchar(8000),
@split varchar(5)
as
declare @t table( word varchar(20) )
begin
while(charindex(@split,@c)<>0)
begin
insert @t( word) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'') -- 删除指定长度的字符并在指定的起始点插入另一组字符
end
insert @t(word) values (@c) ---最后一个不含分隔的加进来
select distinct * from @t
end
GO
还是用表变量
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询