ORA-00942: 表或视图不存在 "的原因和解决方法
来源:互联网 发布:淘宝有团购吗 编辑:程序博客网 时间:2024/06/05 09:10
采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然忘了,害得我浪费了好些时间,为了避免再次忘记,将它记下来,同时和大家一起分享。
1、问题产生的原因
Oracle 是大小写敏感的,我们创自己写Sql脚本创建表的时候Oracle会自动将我们的表名,字段名转成大写,
eg:
create table T_WindRadar ( wr_id VARCHAR2(64) not null, wr_reciveTime DATE, wr_image BLOB, constraint PK_T_WINDRADAR primary key (wr_id));
但是 Oracle 同样支持"" 语法,将表名或字段名加上""后,Oracle不会将其转换成大写
eg:
create table "T_WindRadar" ( "wr_id" VARCHAR2(64) not null, "wr_reciveTime" DATE, "wr_image " BLOB, constraint PK_T_WINDRADAR primary key (wr_id));
如果加上了"",那么我们采用一般的SQL语句查询则会产生“ORA-00942: 表或视图不存在 ”,因此SQL脚本中需要将表名也加上""。
eg:
select * from "T_WindRadar";
这种情况在我们手写SQL的时候一般不会发生,但是我们使用powerdesigner设计数据库的时候,由于不注意会经常出现此类问题,因为Powerdesigner生成的SQL文件默认是加""的。
2、解决的办法
因为我们使用的是Powerdesigner,所以可以不用手工改写SQL脚本,只要设置Powerdesigner重新生成即可。
在PowerDesiger中,在physical data model 中找到菜单中的Database下的Edit current DBMS中,
选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,
表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法
- ORACLE数据库---"ORA-00942: 表或视图不存在 "的原因和解决方法
- ORACLE数据库---"ORA-00942: 表或视图不存在 "的原因和解决方法---续
- "ORA-00942: 表或视图不存在 "的原因和解决方法(非常好)
- Oracle "ORA-00942: 表或视图不存在 "的原因和解决方法
- "ORA-00942: 表或视图不存在 "的原因和解决方法,powerdesigner设计导入
- 【iOS开发-115】静态库的制作以及第三方框架iOS Universal Framework,DEBUG和RELEASE
- ASP.NET MVC 4.0 官方教程一(入门)
- Android官方入门文档[11]支持不同平台版本
- Android基础笔记——HttpURLConnection实现用户登录
- android的 makefile里 的常用 宏定义
- ORA-00942: 表或视图不存在 "的原因和解决方法
- windows - 进程 - GetCurrentDirectory和GetModuleFileName
- SQLite header and source version mismatch解决
- 微信支付接口官方demo存在的问题
- SQLite header and source version mismatch解决
- 帮助文档,代码块,继承
- 积跬步,聚小流------SQL对数据库表进行操作
- 实用的本机文件搜索工具 Everything Search Engine
- BASH 数组用法小结