【问题标题】:Dropping a schema and all of its contents in DB2 8.x在 DB2 8.x 中删除模式及其所有内容
【发布时间】:2010-10-11 12:39:45
【问题描述】:

如何在不知道内容是什么的情况下使用 SQL 在 DB2 8.x 中删除模式及其所有内容?

【问题讨论】:

  • 我忘了说我需要使用 SQL 来完成。

标签: sql schema db2


【解决方案1】:

使用命令 center-GUI 删除架构的所有内容,然后删除架构

【讨论】:

    【解决方案2】:

    我手头没有要删除的架构,但信息中心 (http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/t0005230.htm) 说 DROP SCHEMA [schema name] 应该在 DB2 8.x 上工作

    编辑:好的,信息中心还说:“在删除架构之前,必须自己删除该架构中的所有对象或将其移动到另一个架构”

    因此,需要先删除架构中的所有对象。可以列出对象(表、视图、触发器、过程、索引...)以查询 SYSIBM 模式中的目录视图。

    例如要获取属于架构的所有表,请运行:

    select table_name from sysibm.tables where table_schema = '[your schema name]'
    

    检查其他 sysibm 视图以获取属于某个模式的所有对象。这些视图包括:sysibm.views、sysibm.triggers、sysibm.routines、sysibm.indexes,... - 详情请咨询 IBM 信息中心(上面的链接)。

    【讨论】:

    • sysibm.tables 和 syscat.tables 有什么区别?我总是在 syscat.tables 中查找信息。
    • AFAIK SYSCAT 仅包含基于 SYSIBM 表的视图,旨在为用户提供数据库目录。所以,是的,你的方法可能更好——我刚刚习惯了 sysibm 视图(在上面的例子中并没有太大的区别)
    猜你喜欢
    • 2018-06-26
    • 2016-11-23
    • 2011-10-23
    • 1970-01-01
    • 2015-07-07
    • 2018-01-13
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多