【问题标题】:Ho to get UDT members by SQL?如何通过 SQL 获取 UDT 成员?
【发布时间】:2019-08-08 22:27:40
【问题描述】:

我正在尝试通过 SQL 获取用户定义的类型成员,但我不知道该怎么做。

目前我正在尝试以下查询,但它只给出类型的名称。不是成员的详细信息...

    select * from USER_OBJECTS  where object_type = 'TYPE'

假设我有一个对象如下。我需要返回成员 FirstName varchar2(20)LastName varchar2(25)

我说的是类型成员而不是实例值。就像 .Net 中的反射一样

    create or replace TYPE person AS OBJECT (  
      firstname     VARCHAR2(20),
      lastname      VARCHAR2(25))

有人知道怎么做吗? 谢谢。

【问题讨论】:

    标签: oracle


    【解决方案1】:
    select attr_name, attr_type_name, length 
      from user_type_attrs 
      where type_name = 'PERSON';
    

    结果:

    ATTR_NAME                      ATTR_TYPE_NAME                     LENGTH
    ------------------------------ ------------------------------ ----------
    FIRSTNAME                      VARCHAR2                               20
    LASTNAME                       VARCHAR2                               25
    

    【讨论】:

      猜你喜欢
      • 2019-05-13
      • 2016-01-29
      • 2012-09-19
      • 2011-01-03
      • 2021-03-27
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多