oracle存储过程怎么将变量扔进数组

CREATEORREPLACEPROCEDURE"P_TEST_TEXT"isOLD_VALvarchar2(100):='{(38400,23),(37900,),(3... CREATE OR REPLACE PROCEDURE "P_TEST_TEXT"
is
OLD_VAL varchar2(100) := '{(38400,23),(37900,),(38950,23),(38098,),(39148,)}',
NEW_VAL varchar2(100) := '{(38400,23),(37900,),(38950,23),(39148,),(38098,)}'
begin
①TYPE valarray IS TABLE OF varchar2(100) INDEX BY BINARY_INTEGER;
VAL1 varchar2(100):=substr(OLD_VAL,2,length(OLD_VAL)-2);
WHILE VAL1<>'' LOOP
BEGIN
VAL2=substr(VAL1,instr(VAL1,'('),instr(VAL1,')'));
VAL3=substr(VAL2,instr(VAL2,',')+1,instr(VAL1,')')-instr(VAL2,',')-1);
②valarray1 valarray;
③?
VAL1=substr(VAL1,length(VAL2)+2,length(VAL1)-length(VAL2)-1);
END;
END LOOP;

在①处定义了一个数组类型,在②处声明了一个数组,请问怎么在③处把VAL3这个字符串扔进数组里,像java的集合的add方法一样
展开
 我来答
射手小小王
2015-09-06 · TA获得超过398个赞
知道小有建树答主
回答量:716
采纳率:85%
帮助的人:265万
展开全部
先自定义集合类型变量类型,然后定义对应的变量,直接把集合类型穿给存储过程就可以了,不用在存储过程中搞,应用程序中搞好传过去就可以了,我都是这样搞的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式