我是靠谱客的博主 苹果手机,最近开发中收集的这篇文章主要介绍oracle如何删除全部索引,sql – 如何在Oracle中可靠地列出和删除所有空间索引?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在我的开源数据库迁移项目

Flyway中,我有一个功能可以清除当前数据库模式中的所有对象,而不会删除模式本身.

典型的实现如下:

>列出所有对象

>为这些对象生成drop语句

Oracle Spatial Indexes让我感到非常悲伤.

如何可靠地枚举它们以生成DROP INDEX xyz语句?

注意:这必须适用于XE,10g和11g.必须消除MDSYS模式中的所有引用.

我目前的解决方案如下:

在XE上:

>从mdsys.user_sdo_geom_metadata删除

> DELETE FROM mdsys.sdo_index_metadata_table WHERE sdo_index_owner = USER

> SELECT object_type,object_name FROM user_objects WHERE object_type =’TABLE’

> DROP * table_name * CASCADE CONSTRAINTS PURGE / *表示所有表* /

在Oracle 10g上:

>从mdsys.user_sdo_geom_metadata删除

> SELECT object_type,object_name FROM user_objects WHERE object_type =’TABLE’和object_name不喜欢’MDRT _%$’

> DROP * table_name * CASCADE CONSTRAINTS PURGE / *表示所有表* /

10g似乎级联删除MDSYS.sdo_index_metadata_table中的元数据以及删除空间索引表(MDRT_1234 $等).

XE没有.

10g和XE都不会级联MDSYS.user_sdo_geom_metadata中的元数据删除

最后

以上就是苹果手机为你收集整理的oracle如何删除全部索引,sql – 如何在Oracle中可靠地列出和删除所有空间索引?...的全部内容,希望文章能够帮你解决oracle如何删除全部索引,sql – 如何在Oracle中可靠地列出和删除所有空间索引?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部