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语句中的所有双引号,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值