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

我在oracle11g中创建了一个表,该表具有blob和clob数据类型,然后我运行了以下查询,oracle11g,schema,ddl,Oracle11g,Schema,Ddl,我正在尝试创建一个示例程序,用于获取任何目标数据库的ddl模式。我正在使用get_ddl()方法获取这样的ddl sql。我有一个问题,当我为索引运行get_ddl命令时,如下所示: SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME) FROM USER_INDEXES ; 它返回结果中的所有CREATEINDEX查询,其中还包括以下类型的索引查询- CREATE UNIQUE INDEX "SCOTT"."SYS_IL0000076778865

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

SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME) FROM USER_INDEXES ;
它返回结果中的所有CREATEINDEX查询,其中还包括以下类型的索引查询-

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模式列表中忽略该查询
我怎么能忽视它?或者建议我忽略它。

您可以过滤掉不需要的索引类型

 SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME) FROM USER_INDEXES WHERE INDEX_TYPE NOT IN ('LOB');
以下是示例类型:

SQL>从dba索引中选择不同的索引类型

索引类型 物联网-顶部

高球

基于函数的正态分布

正常的


集群

谢谢。它正在工作。