Ora-00942:表或视图不存在

简介:

今天为工程建库,弄来弄去总是报这个错误。

最后才明白:Oracle表名一定要全部用大写,用小写的话,PL/SQL可能不认。

你说这事郁闷不。

其实最郁闷的在于,这个问题不是因Oracle而起,是PowerDesigner的问题。

在使用PowerDesigner画数据库的图时,如果表名和列名全部使用大写,那么PowerDesigner自动生成的建表语句中就不会使用双 引号将表明、列名引起来;但如果名称中包含小写,那么表名或列名中就会包含""。像下面这两个例子:

建表语句A:

create table "t_se_Insurance_Info" (
     VIN                  VARCHAR2(30),
   VMT                  VARCHAR2(20),
   "Drive_Area"         VARCHAR2(10),
   "Is_Ecdemix"         VARCHAR2(1),
   );

建表语句B:

create table T_SE_CITY (
   "City_ID"            NUMBER                          not null,
   "City"               VARCHAR2(20),
   ID                   NUMBER                          not null,
   constraint PK_T_SE_CITY primary key (ID)
);

建表语句A中,表名实际上是t_se_Insurance_Info,但PowerDesigner自动生成的语句中建立的表 是"t_se_Insurance_Info";相比表名全大写的建表语句B,这里就多了一对""。由于这对双引号的存在,在PL/SQL中使用语句 “select * from t_se_Insurance_Info”就会出现“表或视图不存在”的错误,正确的语句应该是“select * from "t_se_Insurance_Info"”。

字段名与之类似,在PL/SQL中企图检索某字段时,如果字段名全部是大写字母,直接敲字段名即可;如果是大小写混杂,那么需要用""将字段名包起 来。

这实际是PowerDesigner的问题。如果我们在将PowerDesigner生成的建表语句执行之前对它进行编辑,去掉其中多余的"",那 么一切都将恢复正常。因为Oracle是大小写不敏感的




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/799105,如需转载请自行联系原作者

相关文章
|
Web App开发 前端开发 IDE
Airtest-Selenium实操小课①:爬取新榜数据
Airtest-Selenium实操小课①:爬取新榜数据
216 0
|
运维 Kubernetes Cloud Native
【云原生-DevOps】企业级DevOps平台搭建及技术选型-CICD篇(一)
【云原生-DevOps】企业级DevOps平台搭建及技术选型-CICD篇(一)
1267 0
【云原生-DevOps】企业级DevOps平台搭建及技术选型-CICD篇(一)
|
11月前
|
机器学习/深度学习 人工智能 数据可视化
深度学习之可解释人工智能(Explainable AI,XAI)
可解释人工智能(XAI)是一个旨在使AI决策过程透明和可理解的研究领域。随着AI和机器学习技术在多个行业中的应用变得越来越广泛,其决策过程的透明度和可解释性变得极其重要。
476 0
|
10月前
|
Web App开发 人工智能 自然语言处理
WebChat:开源的网页内容增强问答 AI 助手,基于 Chrome 扩展的最佳实践开发,支持自定义 API 和本地大模型
WebChat 是一个基于 Chrome 扩展开发的 AI 助手,能够帮助用户理解和分析当前网页的内容,支持自定义 API 和本地大模型。
811 1
|
10月前
|
前端开发 开发者 C++
独家揭秘:前端大牛们如何高效学习新技术,保持竞争力!
【10月更文挑战第31天】前端技术飞速发展,如何高效学习新技术成为关键。本文通过对比普通开发者与大牛们的策略,揭示了高效学习的秘诀:明确目标、主动探索、系统资源、实践应用和持续学习。通过这些方法,大牛们能更好地掌握新技术,保持竞争力。示例代码展示了如何通过实践加深理解。
210 4
|
JSON 前端开发 Java
SpringBoot后端接口请求参数映射方式详解
SpringBoot后端接口请求参数映射方式详解
1111 0
|
XML 安全 API
理解并实现单点登录(SSO)的技术解析
【5月更文挑战第21天】本文解析了单点登录(SSO)技术,旨在解决多系统登录的效率和安全问题。SSO允许用户在集中认证系统登录后,无须反复输入凭证即可访问其他受信任应用。其原理基于信任机制,通过会话令牌实现身份验证。文中提到了两种实现方式:SAML-based SSO,利用SAML断言交换安全信息;OAuth 2.0-based SSO,通过授权码或访问令牌授权。实施SSO时需关注认证中心安全、令牌有效期、跨域通信及用户体验优化。
1172 3
|
数据库
解决navicat无法连接sqlserver数据库的问题
解决navicat无法连接sqlserver数据库的问题
|
XML 前端开发 JavaScript
【原生HTML+SpringBoot】电子病历编辑器源码
【原生HTML+SpringBoot】电子病历编辑器源码
505 0
|
NoSQL Java Redis
SpringBoot 中使用布隆过滤器 Guava、Redission实现2
SpringBoot 中使用布隆过滤器 Guava、Redission实现
220 0