Oracle 无法删除表或视图错误,错误代码:ORA-00942

原创 2006年05月16日 23:26:00

今天在编写Hibernate代码的时候,将对想保存到Oracle数据库时出现“表或视图不存在”的错误,但是进入数据库的时候发现表却是存在,并且可以编辑,经过分析,发现是因为建立表的时候带了"(双引号)造成的,比如下面是创建表的代码:

create table "ServiceSubscriber"  (
   "subscriberid"       VARCHAR2(100)                    not null,
   "email"              VARCHAR(128),
   "realName"           VARCHAR2(50),
   "pwd"                VARCHAR2(30),
   constraint PK_ODS_CUSTMR_SERVICESUBSCRIBE primary key ("subscriberid")
)
/

熟悉Orcale的朋友估计一眼就看出了,上面的表名和字段名都带有双引号,虽然可以建表成功,但是却无法通过Hibernate保存数据到表中。解决的办法就是在创建表的时候将上面的双引号删除即可。

create table ServiceSubscriber  (
   subscriberid       VARCHAR2(100)                    not null,
   email              VARCHAR(128),
   realName           VARCHAR2(50),
   pwd                VARCHAR2(30),
   constraint PK_ODS_CUSTMR_SERVICESUBSCRIBE primary key (subscriberid)
)
/

由于本人对Oracle非常不熟悉,所以具体原因只能根据推测:

Oracle创建表的一条规则为:
在命名表的时候可以使用大写或小写字母。只要表名或字段名没有用双引号括住,Oracle 对大小写就不敏感。Oracle 支持使用双引号 的语法。但是,最好不要直接使用双引号。

因为在建立查询的时候,表名和列名都应该带有双引号,而Hibernate生成的查询是不会带有双引号的,所以会出现无法找到表或视图的错误。

Oracle "ORA-00942: 表或视图不存在 "的原因和解决方法

采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”。1、问题产生的原因  Oracle 是大小写敏感的,我们创自己写Sq...
  • yangchangfu111
  • yangchangfu111
  • 2017年01月03日 11:38
  • 13127

oracle视图总结(创建、查询、修改、删除等)

视图定义: — —视图是一种虚表。 — —视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。 — —向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的...
  • yuzongtao
  • yuzongtao
  • 2014年10月30日 00:24
  • 3323

ORACLE数据库---"ORA-00942: 表或视图不存在 "的原因和解决方法

"ORA-00942: 表或视图不存在 "的原因和解决方法 采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,...
  • xunshishi
  • xunshishi
  • 2016年07月25日 23:01
  • 3186

创建触发器报PL/SQL: ORA-00942: 表或视图不存在

SQL> create user u1 identified by u1; 用户已创建。 SQL> grant dba to prod; 授权成功。 SQL> grant dba to u1;...
  • weiwangsisoftstone
  • weiwangsisoftstone
  • 2014年11月04日 09:43
  • 4640

"ORA-00942: 表或视图不存在 "的原因和解决方法

在用Navicat将sqlserver数据迁移到oracle中后,oracle中查看表数据报"ORA-00942: 表或视图不存在 "错误,参照了下面的方法将问题解决 原文链接:http:/...
  • liliiii
  • liliiii
  • 2014年12月12日 15:58
  • 7521

"ORA-00942: 表或视图不存在 "的原因和解决方法

采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然...
  • hety119
  • hety119
  • 2015年05月18日 21:46
  • 1587

ORACLE存储过程运行报“ora-00942表或视图不存在”、“ORA-01031:权限不足”的解决方式

目录: 一、案例 二、思索过程 三、解决方案 四、后记   正文 一、案例: 在userA用户下书写存储过程如下:   create or replace procedure sp...
  • samed
  • samed
  • 2014年01月28日 17:31
  • 4519

"ORA-00942: 表或视图不存在 "的原因和解决方法,powerdesigner设计导入

采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然...
  • MatinBell
  • MatinBell
  • 2017年05月10日 23:52
  • 947

oracle权限视图

查看某个用户在某个对象的权限,可以查dba_tab_privs 或者user_tab_privs   如下:某普通用户登陆,查自己的角色 SQL> select * fr...
  • aoerqileng
  • aoerqileng
  • 2014年11月08日 17:28
  • 1160

"ORA-00942: 表或视图不存在 "的原因和解决方法

采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然...
  • zhengbo0
  • zhengbo0
  • 2013年03月19日 14:47
  • 1213
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle 无法删除表或视图错误,错误代码:ORA-00942
举报原因:
原因补充:

(最多只允许输入30个字)