加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 用于自定义类型的implode函数的PL / SQL

发布时间:2020-12-12 15:11:22 所属栏目:百科 来源:网络整理
导读:有没有办法在PL / SQL中创建一个implode例程,它将任何自定义数据类型作为参数并连接其成员,由一些指定的字符串分隔? 例如,假设我有以下类型: CREATE TYPE myPerson AS OBJECT( forename VARCHAR2(50),surname VARCHAR2(50),age NUMBER); 然后,假设一个函数
有没有办法在PL / SQL中创建一个implode例程,它将任何自定义数据类型作为参数并连接其成员,由一些指定的字符串分隔?

例如,假设我有以下类型:

CREATE TYPE myPerson AS OBJECT(
  forename VARCHAR2(50),surname  VARCHAR2(50),age      NUMBER
);

然后,假设一个函数返回一个myPerson类型的对象,但我希望将列连接在一起:

SELECT implode(getPerson(1234),'$$') from dual;

返回(假设这个设计示例中的数据已设置):

John$$Doe$$55

可以将分隔符指定为可选参数,但第一个参数的类型可以是任何内容(不一定是myPerson).

您的自定义数据类型可以支持方法,方法可以包含参数.
CREATE TYPE myPerson AS OBJECT(   
  forename VARCHAR2(50),age      NUMBER,MEMBER FUNCTION
  get_record(pGlue IN varchar2)   RETURN VARCHAR2 );

CREATE TYPE BODY myPerson 
AS 
   MEMBER FUNCTION get_record(pGlue varchar2) RETURN VARCHAR2

 IS
BEGIN
 RETURN forename || pGlue  || surname  || pGlue || age ;
END get_record;

END;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读