zoukankan      html  css  js  c++  java
  • ORA00942: 表或试图不存在

    郁闷: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中找到答案。

  • 相关阅读:
    C语言运算符优先级和口诀
    跨域问题的解决方案 php
    浅谈跨域攻击及预防
    浅析Websocket--PHP
    linux下的删除目录和文件的方法
    python魔法方法
    双指针
    python常用模块
    python三大器
    对闭包的误区
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/2258313.html
Copyright © 2011-2022 走看看