Oracle数据库报bug,表或试图不存在,表名中包含空格

php中文网
发布: 2016-06-07 15:20:17
原创
1796人浏览过

一 1.开始:通过powderDesiger导出的SQL代码中的字段都是小写的,然后直接导入了oracle. 2.bug:无法修改表结构(在PL/SQL Developer中)---包括增加删除修改... 3. 明明该表是存在的,删除时报:表或视图不存在~!第 1 行出现错误:ORA-00942: 表或视图不存在后来终

1.开始:通过powderdesiger导出的sql代码中的字段都是小写的,然后直接导入了oracle.

2.bug:无法修改表结构(在PL/SQL Developer中)---包括增加删除修改...

3.

明明该表是存在的,删除时报:表或视图不存在~!

第 1 行出现错误:
ORA-00942: 表或视图不存在

后来终于找出原因是因为我的表名是小写的,而是大写的则不会出现这个问题。
正常情况下....数据字典里面的数据都是大写,,,,动态视图都是小写的........在用关键字做表或其它对象的名时用""

所以表名用""引起来就行了
如何删除表时用了CASCADE CONSTRAINTS则会把与它相关的约束一起删除
登录后复制

而需要删除的表格可以用一个select查询出来,代码如下


--查询外键约束  
select 'Alter table '||TABLE_NAME||' '||'drop constraint'||' '|| CONSTRAINT_NAME||';'
  from user_constraints  
  where CONSTRAINT_TYPE ='R'  
  and TABLE_NAME like 'TA/_%' escape '/';
--查询表名
 select 'drop table '||TABLE_NAME||' '||';'
  from user_tables
  where TABLE_NAME like 'TA/_%' escape '/';
登录后复制


二.

1.生成表的时候,表名没有检查,直接建表,结果,表既有主键,又有外键,删除啊删除不了,双引号引起来没有效果

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 407
查看详情 AppMall应用商店

2.报bug,无效字符,或者表或视图不存在的bug

3.解决,改表名,然后删除

代码:ALTER TABLE "TBL_CERT IFICATE _TYPE" rename to "TABLE2";
登录后复制

此处,双引号引起表名,此处的双引号的作用,与之前双引号的作用不一样,之前双引号引的是小写的表名,,此处引起的是不连续的表名




相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号