暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase8s数据库DROP DATABASE 语句

张维群 2021-12-30
529

使用 DROP DATABASE 语句删除整个数据库,包括系统目录表、对象和数据。


用法

DROP DATABASE 语句是 ANSI/ISO 标准的扩展,该标准没有提供毁坏数据库的语法。

以下语句删除 stores_demo 数据库:

DROP DATABASE stores_demo

您必须拥有 DBA 特权,或者您是用户 gbasedbt 才可成功运行 DROP DATABASE 语句。否则,

数据库服务器会发出一条错误消息,并且不会删除数据库。

不能删除当前数据库或当前正由其它用户使用的数据库。数据库的所有当前用户必须先执行

CLOSE DATABASE 语句,这样 DROP DATABASE 才会成功。

DROP DATABASE 语句试图创建到您的想要删除的数据库的隐式连接。如果前面的 CONNECT

语句已经建立了到另一个数据库的显式连接,而且该连接仍然是您的当前连接,则 DROP

DATABASE 语句失败,错误为 -1811。在这种情况下,您必须首先使用 DISCONNECT 语句关闭

显式连接后,才能执行 DROP DATABASE 语句。

如果您包含可选的 IF EXISTS 关键字,则如果没有指定名称的数据库由所连接的数据库服务器实

例管理,则数据库服务器不采取任何操作(而不是向应用程序返回错误)。

DROP DATABASE 语句不可以出现在多语句 PREPARE 中,也不可以出现在 SPL 例程中。

在 DROP DATABASE 操作中,数据库服务器对数据库中的每个表都获取一个锁,并保留这些锁直

至整个操作完成。请给您的数据库服务器配置足够的锁以满足这一事实的发生。

例如,如果要删除的数据库有 2500 个表,但是为您的数据库服务器配置的锁定少于 2500 个,则

DROP DATABASE 语句失败。有关如何配置可用于数据库服务器的锁的数目的更多信息,请参阅

GBase 8s 管理员参考手册 中对 LOCKS 配置参数的讨论。

在 DB-Access 中,使用 DROP DATABASE 语句时要小心。DB-Access 不会提示您验证是否想要

删除整个数据库。

在 ESQL/C 中,您可以在程序或主变量中使用未限定的数据库名称,或可以指定标准的

database@server 格式。例如,以下语句删除了名为 gibson95 的数据库服务器的 stores_demo

数据库:

EXEC SQL DROP DATABASE stores_demo@gibson95;

如果此语句执行成功,则 gibson95 数据库服务器实例继续存在,但该数据库服务器的

stores_demo 数据库不再存在。有关更多信息,请参阅数据库名。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论