ORA-00942: 表或试图不存在

郁闷:powerdesigner 生成oracle的建表脚本,但是对生成的表不能进行 insert、exp、update、drop 报ORA-00942: 表或试图不存在 异常,本以为动了oracle哪里的配置导致的,在网上找了很多帖子——未果!百般无奈下删除了用户 ……drop user lizhiyu cascade;

    不妥:用powerdesigner 生成的oracle的建表脚本重新建库,结果还是一样。只能仔细看下表结构,建表语句如下:

        -- Create table
create table s
(
  "sid"      NUMBER not null,
  "sname"    VARCHAR2(20),
  SEX      VARCHAR2(2),
  "birthday" DATE
)
tablespace SYSTEM
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255
  storage
  (
    initial 64
    minextents 1
    maxextents unlimited
  );

 

熟悉点数据库的同志们就会发现问题,打开powerdesigner生成的脚本内容如下:

create table "s"  (
   "sid"                NUMBER                          not null,
   "sname"              VARCHAR2(20),
   "sex"                VARCHAR2(2),
   "birthday"           DATE,
   constraint PK_S primary key ("sid")
);

所有的表名和列明如果是小写字母的加上了双引号

 虽然数据库的表名和字段名不区分大小写但是有双引号和没有双引号就是两回事儿了。双引号怎么来的?powerdesigner里设计字段名时候以小写字母命名 导出sql脚本是会在小写字母上加双引号!!!导致oracle建表成功但是操作不了!

    琢磨:既然能建立就一定能操作啊,索性,试了下 drop table “S” ,恩 果然好使,去掉ddl语句中的所有双引号,问题解决。

    具体解决办法,操作可在本人博客另一篇文章http://www.cnblogs.com/chinafine/articles/1847010.html中找到答案。

posted @ 2011-11-22 09:08  awp110  阅读(292)  评论(0编辑  收藏  举报