暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 函数数据类型

askTom 2017-08-25
187

问题描述

嗨,汤姆,

我需要创建这样一个函数,
创建或替换函数 (varchar2(10) 中的p_name,varchar2(10) 中的p_col1,varchar2(10) 中的p_col2)

开始
从p_name中选择p_col1,p_col2;
结束;
/

现在我需要以这样的方式修改函数,p_col1,p_col2替换为varray,以便函数 (p_name varchar2(10),p_col1,........);


谢谢
吉安

专家解答

你只需要把你的varray定义为一种类型,你就可以走了

SQL> create or replace
  2  type my_varray is varray(10) of int;
  3  /

Type created.

SQL>
SQL> create or replace
  2  function my_func(p_name in varchar2, p_col in my_varray) return int is
  3    the_sum int := 0;
  4  begin
  5    for i in 1 .. p_col.count loop
  6       the_sum := the_sum + p_col(i);
  7    end loop;
  8    return the_sum;
  9  end;
 10  /

Function created.

SQL>
SQL> set serverout on
SQL> exec dbms_output.put_line(my_func('x',my_varray(1,2,3,4,5)));
15

PL/SQL procedure successfully completed.


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论