在oracle(9.2.0.1)里面注册一个xml schema,代码如下,
begin
DBMS_XMLSCHEMA.registerSchema(SCHEMAURL=>'http://monthly.update.xsd',
                               SCHEMADOC=>bfilename('XML_FINAL_DIR','month.xsd'));
end;
初始的时候可以注册成功,但是当使用如下的代码删除后,
BEGIN
  DBMS_XMLSCHEMA.deleteSchema(
  SCHEMAURL => 'http://monthly.update.xsd',
  DELETE_OPTION => dbms_xmlschema.DELETE_CASCADE_FORCE);
END;
想再次创建时却发现不能再重新创建此schema,修改名字(xml 的namespace)后也不行,出错信息如下:
ORA-31111: table "ADVENTURE"."ManufacturingIdentifi9444_TAB" cannot be hierarchically enabled(在中文版的pl/sql下执行显示错误信息是“无法分层启用表”)
ORA-06512: at "XDB.DBMS_XDBZ0", line 98
ORA-06512: at "XDB.DBMS_XDBZ0", line 196
ORA-04081: trigger 'ManufacturingIdentifi944_xdbpt' already exists
ORA-06512: at "XDB.DBMS_XDBZ", line 6
ORA-06512: at line 1
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 0
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 26
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 112
ORA-06512: at line 2PS:ADVENTURE是数据库名,‘ManufacturingIdentifi9444_TAB’这个表数据库中不存在,’ManufacturingIdentifi944_xdbpt‘这个触发器在数据库中也是不存在的,望能人赐教下,谢谢了。