Welcome 微信登录

首页 / 数据库 / MySQL / Oracle数据库bug,表或试图不存在,表名中包含空格


1.开始:通过powderDesiger导出的SQL代码中的字段都是小写的,然后直接导入了Oracle.2.bug:无法修改表结构(在PL/SQL Developer中)---包括增加删除修改...3.明明该表是存在的,删除时报:表或视图不存在~! 
 
第 1 行出现错误: 
ORA-00942: 表或视图不存在 
 
后来终于找出原因是因为我的表名是小写的,而是大写的则不会出现这个问题。 
正常情况下....数据字典里面的数据都是大写,,,,动态视图都是小写的........在用关键字做表或其它对象的名时用"" 
 
所以表名用""引起来就行了 
如何删除表时用了CASCADE CONSTRAINTS则会把与它相关的约束一起删除  而需要删除的表格可以用一个select查询出来,代码如下
  1. --查询外键约束    
  2. select "Alter table "||TABLE_NAME||" "||"drop constraint"||" "|| CONSTRAINT_NAME||";"  
  3.   from user_constraints    
  4.   where CONSTRAINT_TYPE ="R"    
  5.   and TABLE_NAME like "TA/_%" escape "/";  
  6. --查询表名  
  7.  select "drop table "||TABLE_NAME||" "||";"  
  8.   from user_tables  
  9.   where TABLE_NAME like "TA/_%" escape "/";  
二.1.生成表的时候,表名没有检查,直接建表,结果,表既有主键,又有外键,删除啊删除不了,双引号引起来没有效果2.报bug,无效字符,或者表或视图不存在的bug3.解决,改表名,然后删除代码:ALTER TABLE "TBL_CERT IFICATE _TYPE" rename to "TABLE2";  此处,双引号引起表名,此处的双引号的作用,与之前双引号的作用不一样,之前双引号引的是小写的表名,,此处引起的是不连续的表名。  通过SSH通道来访问MySQLOGG-00446 ERROR: Could not find archived log相关资讯      Oracle错误代码 
  • Oracle错误代码大全  (02/16/2015 21:31:57)
  • Oracle中登陆时报ORA-28000: the   (03/06/2013 20:06:23)
  • Oracle 11g startup时报ORA-03113  (02/21/2013 17:25:55)
  • Oracle Grid Control OUI-25031错  (03/09/2013 09:01:36)
  • ORA-04091:触发器/函数不能读  (02/25/2013 08:28:13)
  • Oracle错误 ORA-12514 解决方法  (02/18/2013 08:50:10)
本文评论 查看全部评论 (0)
表情: 姓名: 字数