博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle --存储过程,输入不定个数参数
阅读量:6405 次
发布时间:2019-06-23

本文共 756 字,大约阅读时间需要 2 分钟。

hot3.png

一般来说,写存储过程时,输入的参数个数是固定的,但最近业务需求,输入的参数不固定。

思路:oracle存储过程的输入参数个数、类型肯定不能改,因此输入不定个数参数时必须另想它法。

分析:在网上找到一些解决方法

方法一:客户端将需要传入的参数先拼接成一个字符串,再传给oracle存储过程,存储过程收到该字符串后,进行解析出所有的需要的参数。

方法二:利用oralce的Types来做。

本项目中,项目经理要求的时间比较紧,因此我采用第一种方案实现了;项目经理说第二种方案肯定可以实现,只是需要画时间,可以作为业余学习。

第一种方法如下:

  begin    select instr(l_cstmIdAll, '|') into l_count from dual;    while l_count > 1 loop      --1.截取客户id      select substr(l_cstmIdAll, 0, l_count - 1) into l_cstmId from dual;      dbms_output.put_line('拿到了cstmId,做你自己想做的事情 ');              --2.重新开始计算字符串      select substr(l_cstmIdAll, l_count + 1) into l_cstmIdAll from dual;            --3.重新给l_count赋值      select instr(l_cstmIdAll, '|') into l_count from dual;    end loop;  end;

转载于:https://my.oschina.net/u/2312022/blog/481180

你可能感兴趣的文章
数据库全文索引相关问题
查看>>
Python课程第二天作业
查看>>
第二次冲刺5
查看>>
vue中props组件传值
查看>>
【转】大型网站后台架构的演变
查看>>
开篇日志
查看>>
BZOJ2040[2009国家集训队]拯救Protoss的故乡——模拟费用流+线段树+树链剖分
查看>>
【转】谈谈 iOS 中图片的解压缩
查看>>
开题篇 - Win32汇编语言001
查看>>
界面设计02 - 零基础入门学习Delphi43
查看>>
vi/vim命令详解
查看>>
计算递归算法的时间复杂度
查看>>
hdu 1063 Exponentiation
查看>>
各种排序及原理
查看>>
How to run a (Tomcat)Java application server on a Azure virtual machine
查看>>
Scala 多继承顺序
查看>>
[分享] 很多人手机掉了,却不知道怎么找回来。LZ亲身经历讲述手机找回过程,申请加精!...
查看>>
新的博客,新的开始!
查看>>
WPF 自定义DataGrid控件样式
查看>>
「CH2501」 矩阵距离 解题报告
查看>>