oracle存储过程中数组的使用

create or replace package ArrayTestPKG1 is
   type tt_type is table of varchar(32) INDEX BY BINARY_INTEGER;  --- 定义数组
   type table2 is table of tableA.columnA%type index by binary_integer;

function toArray(Liststr in varchar, V1 out tt_type) return number;
   
   
   Procedure test;
END ArrayTestPKG1;

/
show errors;
create or replace package body ArrayTestPKG1 is

function toArray(Liststr in varchar, V1 out tt_type) return number is
        TmpStr varchar(32);
        Str    varchar(4000);
        j      number;
    begin
        Str := Liststr;
        j   := 0;
        IF Instr(Liststr, ',', 1, 1) = 0 THEN
          V1(j) := Liststr;
          j := j + 1;
        else
          While Instr(str, ',', 1, 1) > 0 Loop
            TmpStr := Substr(str, 1, Instr(str, ',', 1, 1) - 1);
          
            V1(j) := TmpStr;
            str := SubStr(Str, Instr(str, ',', 1, 1) + 1, length(str));
            j := j + 1;
          end loop;
          if not str is null then
           --将最后一个保存
            V1(j) := str;
            j := j + 1;
          end if;
        end if;
        return J;
    EXCEPTION
  WHEN OTHERS THEN
      dbms_output.put_line('sqlerrm:'||sqlerrm);
    end;
  
  
  --计算某一天所有上下文的消费数据
  Procedure test Is

t1 tt_type;
      v_char varchar(150):='';
      v_cnt  number:=0;
  Begin
 dbms_output.put_line('start!!!');
 
 v_char:='aaaa,bbbb,cccc,dddd,eee,ffff';
 v_cnt := toArray(v_char,t1);
 dbms_output.put_line('v_char:'||v_char);
 dbms_output.put_line('v_cnt:'||v_cnt);
 dbms_output.put_line('t1:'||t1(3));
 dbms_output.put_line('end!!!');
  End;

begin
  -- Initialization
  Null;
end ArrayTestPKG1;
/
show errors;

SQL> exec ArrayTestPKG1.test;
start!!!
v_char:aaaa,bbbb,cccc,dddd,eee,ffff
v_cnt:6
t1:dddd
end!!!

PL/SQL procedure successfully completed.

转载于:https://blog.51cto.com/qyweiyy/798033

oracle存储过程中数组的使用相关推荐

  1. oracle 数组的用法,oracle存储过程中数组的使用

    create or replace package ArrayTestPKG1 is type tt_type is table of varchar(32) INDEX BY BINARY_INTE ...

  2. Oracle存储过程中异常Exception的捕捉和处理

    Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Var ...

  3. oracle数据存储过程 中的循环 for 拼接字符串,oracle存储过程中使用字符串拼接

    1.使用拼接符号"||" v_sql := 'SELECT * FROM UserInfo WHERE ISDELETED = 0 AND ACCOUNT =''' || vAcc ...

  4. oracle存储过程日志打印,如何在oracle存储过程中逐行打印

    我正在执行一个存储过程,但它在某个时候失败了, 当前错误代码不帮我找到错误的位置和确切位置 我想知道它正在失败,所以想要在执行时逐行输出. 例如:如何在oracle存储过程中逐行打印 create o ...

  5. Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:

    摘要:最近项目中用到了Oracle存储过程,所以就自己尝试着写了下,下面我把我遇到的问题描述一下:就是在我处理解析Clob字段中的xml字符串的时候,有个需求就是根据指定的主键参数,来判断该参数的值是 ...

  6. 资源放送丨《Oracle存储过程中的性能瓶颈点》PPT视频

    前段时间,墨天轮分享了直播< SQL大赛冠军怀晓明:深入解析Oracle存储过程中的性能瓶颈点>,在这里我们共享一下PPT和视频,供大家参考学习. 在DBA日常工作中,经常会有这样的疑惑: ...

  7. oracle 存储过程中使用select 列 into 变量

    在oracle存储过程中,有许多自己定义的变量,一般是需要赋值的,在这种情况下,一般来说,可以使用 select 列 into 变量  from table ,就是将列赋值给变量.

  8. Oracle 存储过程中,解决变量使用 in条件时,查询无效问题

    oracle 存储过程中,定义变量之后,使用变量进行 in 条件查询时,会出现查询条件无效的问题 表结构 表数据 解决方法 create or replace type strsplit_type i ...

  9. ORACLE存储过程使用数组

    ORACLE存储过程使用数组 1 单维数组 --单维数组 DECLARE-- 定义一个数组TYPE emp_ssn_array IS TABLE OF NUMBER INDEX BY BINARY_I ...

最新文章

  1. [C] 深度优先搜索解决连通块/染色问题——求岛的个数
  2. python0b1010_笔记-python-字符串格式化-format()
  3. (推荐)叮当——中文语音对话机器人
  4. OS开发UI篇—在UItableview中实现加载更多功能
  5. 《spring揭秘》读书笔记三
  6. SpringBoot使用thymeleaf
  7. 【Python】一种pyahocorasick库安装方法
  8. 19 Signals and Signal Handling
  9. 如何将枯燥的大数据呈现为可视化的图?
  10. python多态(一分钟读懂)
  11. python机器学习-乳腺癌细胞挖掘(基于真实美国临床数据)
  12. 图像处理学习--银行卡号码识别(1)
  13. word中如何把某条表格线改为虚线
  14. h5页面 请在微信客户端打开链接_使用Fiddler抓包解决“请在微信客户端打开链接”的问题...
  15. 安装 Windows 7 VM虚拟机
  16. Arduino自制打地鼠游戏机详细教程
  17. javascript 中innerHTML的用法
  18. Vulkan_渲染可视化调试(VK_EXT_debug_marker与RenderDoc离线图形调试)
  19. java.net.UnknownHostException异常处理
  20. 百度feed 寒假实习 一面二面(offer)

热门文章

  1. 扫雷java讲解_java课程设计(扫雷游戏)讲解.doc
  2. java569_java如何实现这样一个程序
  3. mvc:annotation-driven/浅析
  4. 2016去哪儿编程题:字符替换
  5. SEO中HTML标签权重列表
  6. Arcengine实现创建网络数据集札记(二)
  7. FTP服务器配置固定IP才能访问
  8. AOP 详解 、AOP 中通知类型 、AOP 两种实现方式(Schema-base 和 AspectJ)
  9. sevlet中web.xml 文件
  10. sqlyog如何设置.时提示字段名_Spring boot 中使用 Tomcat时 用户名 密码如何设置呢?...