oracle12g账号密码Oracle数据库报bug,表或视图不存在,表名中包含空格的问题

Oracle数据库报bug,表或视图不存在,表名中包含空格的问题

 

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

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

3.

[html] 

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

  

第 1 行出现错误:  

ORA-00942: 表或视图不存在  

    www.2cto.com  

后来终于找出原因是因为我的表名是小写的,而是大写的则不会出现这个问题。  

正常情况下….数据字典里面的数据都是大写,,,,动态视图都是小写的……..在用关键字做表或其它对象的名时用""  

  

所以表名用""引起来就行了  

如何删除表时用了CASCADE CONSTRAINTS则会把与它相关的约束一起删除  

 

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

 

[html] 

–查询外键约束    

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 '/';  

  www.2cto.com  

二.

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

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

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

[html] 

代码:ALTER TABLE "TBL_CERT IFICATE _TYPE" rename to "TABLE2";  

 

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

此条目发表在oracle metalink账号分类目录,贴了, , 标签。将固定链接加入收藏夹。