微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

有没有办法在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;

原文地址:https://www.jb51.cc/oracle/204834.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐