我在具有 blob 和 clob 数据类型的 oracle11g 中创建了 table,然后我有 运行 以下查询

I have create table in oracle11g which has blob and clob data type and then I have run following query

我正在尝试创建一个示例程序,它获取任何目标数据库的 ddl 架构。我正在使用 get_ddl() 方法来获取这样的 ddl sql。我有一个问题,当我 运行 get_ddl 命令索引时:

SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME) FROM USER_INDEXES ;

它returns在结果中都创建了索引查询,还包括了以下几种索引查询-

CREATE UNIQUE INDEX "SCOTT"."SYS_IL0000076778865$$" ON "SCOTT"."CLOBD" (
  PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" 
  PARALLEL (DEGREE 0 INSTANCES 0) 

此类索引查询由数据库自动为 CLOB 和 BLOB 数据类型生成。 所以我想忽略获取 ddl 模式列表的查询 我怎么能忽略它呢?或者建议我忽略它的方法。

您可以过滤掉 index_types 不需要的。

 SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME) FROM USER_INDEXES WHERE INDEX_TYPE NOT IN ('LOB');

示例类型如下:

SQL> select 与 dba_indexes 不同 index_type;

INDEX_TYPE

物联网 - TOP

LOB

基于功能的正常

正常

集群