【问题标题】:How to drop a table with a period/full stop in Oracle Apex?如何在 Oracle Apex 中删除带有句点/句号的表?
【发布时间】:2015-11-10 23:32:54
【问题描述】:

我的一个使用 APEX Oracle 的课程有几个以句点命名的表,我已成功添加到 Apex,但现在我无法删除它们。

这些表的名字是这样的

classid.groupid_table_name

我尝试通过 UI 试图找到一种方法来手动删除表并运行脚本:

drop table classid.groupid_table_name cascade constraints;

得到错误“ORA-00942:表或视图不存在”

drop table [classid.groupid_table_name] cascade constraints;

得到错误“ORA-00903:无效的表名”

这些表实际上并没有做任何坏事,它们只是有点弄乱了工作空间,因为命名方案已更改为 classid_groupid_table_name。

【问题讨论】:

  • user_tables 中的实际表名是什么(或all_tablesdba_tables,具体取决于您的权限和谁拥有该表)? clientid.group_id_table_name 通常意味着该表被命名为 group_id_table_name 并且在 classid 模式中。但我想您可能对表名使用了区分大小写的标识符,并以某种方式决定使用句点作为表名的一部分。如果发生这种情况,您需要用双引号将表名括起来,并且标识符区分大小写。

标签: oracle oracle-apex


【解决方案1】:

您是否尝试过以下方法:

drop table "classid.groupid_table_name" cascade constraints;

【讨论】:

  • 正确,Oracle 使用引号来表示特殊/混合大小写名称。否则一切都转换为大写。
猜你喜欢
  • 2021-06-15
  • 1970-01-01
  • 2021-08-17
  • 2020-12-19
  • 2018-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
相关资源
最近更新 更多