oracle如何查询嵌套表的分项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle如何查询嵌套表的分项相关的知识,希望对你有一定的参考价值。

一个自定义类型
CREATE TYPE ATTIB AS OBJECT (ATTIB_ID varchar2(22), ATTIB_DES varchar2(22), ATTIB_VALUE varchar2(200));
嵌套表类型由ATTIB类型构成
CREATE TYPE TYPE_ATTIB as table of ATTIB;
一个表的列是TYPE_ATTIB类型
以下是我查询的结果

我现在想查询某一个分项,如其中的粉框标注的部分,sql语句如何写,毕竟嵌套表是一种集合类型,我想看其中的每一项

参考技术A select * from table(select c.sb_other_arris from t_sb_record_copy c) ;

如何在oracle中查询每个表的记录条数

参考技术A

1、先查询本库的所有表,测试sql,select * from user_tables t where table_name like 'TEST%';可以看到有多张表;

2、查询一共有几张数据表,

select count(*) from user_tables t where table_name like 'TEST%'; 

3、编写脚本,查询TEST开头表,每个表的记录数,

declare

  v_sql varchar2(200);

  v_cnt number(10);

begin

  for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop

    v_sql := 'select count(*) from '|| v_tab.table_name;

    execute immediate v_sql into v_cnt;

    dbms_output.put_line(v_tab.table_name||':'||v_cnt);

  end loop;

end;

4、执行该sql,在输出窗口,可以看到每个表的输出结果,

TEST_A:4

TEST_CERTNO:6

TEST_CLASS:4

TEST_COL_1:20

TEST_COL_2:100

TEST_CONNECT:4

TEST_DATE:0

TEST_DATE_1:199

TEST_DATE_2:99

TEST_JOB:6

TEST_LOCK:2

TEST_LOG:999

TEST_MID:328

TEST_SALESSTATISTICS:9999

TEST_STUDENT:6

TEST_SUBSTR:4

TEST_UPDATE:3

TEST_UP_A:6

TEST_UP_B:3

TEST_UP_LIKE:6

以上是关于oracle如何查询嵌套表的分项的主要内容,如果未能解决你的问题,请参考以下文章

如何在查询中取消嵌套嵌套表的集合?

如何在另一个表的大查询中创建一个包含嵌套数据的新表?

要使用嵌套表插入表的Oracle存储过程?

嵌套表的最佳查询语法?

oracle嵌套where查询

使用 Knex,如何将连接表的相关行作为嵌套对象给出?