Oracle对表名大小写敏感吗,让Oracle 大小写敏感 表名 字段名 对像名

一、解决方案

1、在表名、字段名、对象名上加上双引号,即可实现让oracle大小写区分。

2、但是这又引起了另一个问题:在数据库操作中,sql语句中相应的表名、字段名、对象名上一定要加双引号。

解决办法是:使用"\"转义。如:

String sql = "select * from userinfo where \"loginId\"=? and loginpwd=?";

二、详解

一 般情况下,使用者在进行Oracle开发或管理里都不会对ORACLE对像名大小写进行区别,因为ORALCE在普通情况下会将所有小写都转换为大写进行 处理,所以可以说是大小写不敏感的。但是实际ORACLE内部有它一套完整的对像名处理方式。本文将从实例进行分析与探讨ORACLE对像名大小写敏感性 的处理机制。

可 能很多人在工作已经了解到,ORACLE在创建对像时是可以加引号的,如果不加引号则不能使用特别字符,只能使用以字母开头的命名。如果加了引号就可以在 对像名里使用任何字符,包括数字开头、下划线、逗号等等。在导出SQLSERVER2000的对像创建脚本时一般是加了引号的,所以经常有人说脚本在 ORACLE中运行后对像不能访问的问题。

注:

1、 本文是以ORACLE9.2为测试分析版本

2、 本文中提到的ORACLE对像名包括ORACLE中的表名、视图名、字段名、函数名等等。

以下为创建表及访问使用不同命名方式的一个实例,测试结果如下:

Connected to Oracle9i Enterprise Edition Release 9.2.0.7.0 Connected as ***** SQL> create table mytable1 2 ( 3 C1 VARCHAR2(6) 4 ); Table created SQL> select * from "MYTABLE1"; C1 ------ SQL> select * from MYtable1; C1 ------ SQL> select * from "mytable1"; select * from "mytable1" ORA-00942: 表或视图不存在 SQL> drop table mytable1; Table dropped SQL> SQL> SQL> create table "mytable1" 2 ( 3 C1 VARCHAR2(6) 4 ); Table created SQL> select * from "mytable1"; C1 ------ SQL> select * from mytable1; select * from mytable1 ORA-00942: 表或视图不存在 SQL> select * from MYTABLE1; select * from MYTABLE1 ORA-00942: 表或视图不存在

测试结果汇总:

√表示允许访问,×表示不允许访问。

读取 创建 mytable1 MYTABLE1 “mytable1” “MYTABLE1” mytable1 √ √ × √ MYTABLE1 √ √ × √ “mytable1” × × √ × “MYTABLE1” √ √ × √

总结:

读取 创建 小写字母 大写字母 加引号小写字母 加引号大写字母 小写字母 √ √ × √ 大写字母 √ √ × √ 加引号小写字母 × × √ × 加引号大写字母 √ √ × √

分析结论:

ORACLE在创建对像时如果没有加引号,对存入数据字典时都会将对像名小写字母转换成大写字母存储,如mytable将转换成MYTABLE;如果创建时加了引号,则以引号内的实际字符存储。

访问时如果没加引号则会将小写字母转换成大写字母再访问,如mytable将转换成MYTABLE;如果加了引号则以引号内的实际字符访问。

ORACLE在读取数据字典时只要发现对像名里有小写字母或者是除字母汉字以外开头的字符都认为是大小写敏感的,并且要求在访问时需要加上引号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌抽屉_Google(最终)会杀死导航抽屉吗?

谷歌抽屉A couple of months ago Google has celebrated with enthusiasm 15 years of Google Maps, one of the most used and appreciated services worldwide from the company.几个月前,Google热情地庆祝Google Maps诞生15周年,这是该公司在全球范围…

MySQL——安装

MySQL——安装 1. 下载源: http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql80-community-release-el7-2.noarch.rpm 该源目前为8.0版本,如果需要最新请退至根目录找。 1wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_…

写给初中级前端的高级进阶指南等

大家好,我是若川。话不多说,这一次花了几小时精心为大家挑选了20余篇好文,供大家阅读学习。本文阅读技巧,先粗看标题,感兴趣可以都关注一波,绝对不亏。程序员成长指北考拉妹子,一个有趣的且乐于…

oracle for函数,oracle分区表述的FOR语句(一)

指定一个分区除了使用分区名称外,很多时候还可以使用FOR语句。从11g开始,对分区进行操作的时候,不仅可以使用分区名称,还可以使用FOR语句。在10g中,MERGE RANGE分区的语句如下:SQL> SELECT * FROM V$VER…

axure9控件树 rp_如何在Axure RP 9中创建分段控件

axure9控件树 rpSegmented controls are not very easy to tackle in prototyping. This is especially true when you have more than 2 segments. This article will show you how to create a segmented control with 3 segments in Axure in just 2 simple steps. The tech…

stack

1. 栈数据结构简单介绍 2. 简单实现代码及stl中stack简单使用 3. 代码下载 1. 栈数据结构简单介绍 栈是这样的一种数据结构,遵循“先进后出”的原则。在stack上定义如下的operations: 1. 判空 2. 入栈push 3. 出栈pop,在栈的不同实现版本中&…

MacOS搭建环境

基础环境 从AppStore下载 有道云笔记微信网易云音乐Chrome浏览器postmanChrome插件云笔记剪报基础命令 mac下别名vi ~/.bash_profile 添加 alias llls -alF alias lals -A alias lls -CF 保存后执行(不能有空格) source ~/.bash_profile复制代码开发环境 PhpStorm 从官网下载Ph…

【送书-小姐姐配音】低代码平台的核心价值与优势

大家好,我是若川。记得点上方听小姐姐配音,识别下方二维码加我微信 ruochuan12,明天(8月8日)晚8点在朋友圈发动态。点赞抽3位小伙伴包邮送《实战低代码》,细则见动态。最近组织了源码共读活动,每…

oracle静默安装集群,静默安装Oracle数据库10g篇

静默安装Oracle数据库10g篇以下是在Linux系统上静默安装Oracle数据库10g的实践过程,主要分为以下两个步骤:Step 1.静默安装Oracle数据库10g软件1. 使用OUI录制响应文件,记录安装过程执行以下命令,然后在OUI中根据提示执…

sketch钢笔工具_设计工具(Sketch,Adobe XD,Figma和InVision Studio)中奇怪的一项功能

sketch钢笔工具When you build a new product that is very similar to the existing products in the market, the designers and product managers tend to do certain features different from others. Sometimes this brings a good change, sometimes worse.当您构建与市场…

modprobe:FATAL: could not load /lib/modules/2.6.35-22-generic/modules.dep No such file or directory

给ubuntu升级到10.10 ,开机可能出现错误modprobe:FATAL: could not load /lib/modules/2.6.35-22-generic/modules.dep No such file or directorymodprobe:FATAL: could not load /lib/modules/2.6.35-22-generic/modules.dep No such file or directory解决办法&a…

Python进阶:如何将字符串常量转化为变量?

2019独角兽企业重金招聘Python工程师标准>>> 前几天,我们Python猫交流学习群 里的 M 同学提了个问题。这个问题挺有意思,经初次讨论,我们认为它无解。 然而,我认为它很有价值,应该继续思考怎么解决&#xf…

怎么在matlab中图像中外接矩形,Matlab 最小外接矩形

Matlab 中并没有发现最小外接矩形的代码,为了方便下面提供最小外接矩形的代码:注:这个函数是源于网上找到的代码的改进版,原版不能检测水平线或者垂直线function [rectx,recty,area,perimeter] minboundrect(x,y,metric)% minbou…

尤雨溪开发的 vue-devtools 如何安装,为何打开文件的功能鲜有人知?

1. 前言大家好,我是若川。最近组织了一次源码共读活动。每周读 200 行左右的源码。很多第一次读源码的小伙伴都感觉很有收获,感兴趣可以加我微信 ruochuan12,拉你进群学习。第一周读的是:据说 99% 的人不知道 vue-devtools 还能直…

sketch浮动布局_使用智能布局和调整大小在Sketch中创建更好的可重用符号

sketch浮动布局Sketch is a widely used tool for UI designs. It implemented the Sketch是用于UI设计的广泛使用的工具。 它实施了 atomic design methodology and made the workflow of UI design much more efficient. You can create a Symbol in Sketch and use it ever…

用Sql添加删除字段,判断字段是否存在的方法

增加字段alter table docdsp add dspcode char(200)删除字段ALTER TABLE table_NAME DROP COLUMN column_NAME修改字段类型ALTER TABLE table_name ALTER COLUMN column_name new_data_type改名sp_rename更改当前数据库中用户创建对象(如表、列或用户定义数据类型…

小姐姐笔记:我是如何学习简单源码拓展视野的

大家好,我是若川。这是我上周组织的源码共读纪年小姐姐的笔记,写得很好。所以分享给大家。欢迎加我微信 ruochuan12,进源码共读群。其他更多人的笔记可以阅读原文查看。川哥的源码解读文章:据说 99% 的人不知道 vue-devtools 还能…

php表决器代码,三人表决器:VHDL源代码

描述--三人表决器(三种不同的描述方式) vhdl-- Three-input Majority Voter-- The entity declaration is followed by three alternative architectures which achieve the same functionality in different ways.ENTITY maj ISPORT(a,b,c : IN BIT; m : OUT BIT);END maj;--D…

保持危机感和紧迫感_什么是紧迫的:您需要知道的一切

保持危机感和紧迫感Putting the finishing touches on a graphic design project calls for a keen eye. But you already know this, because perfectionism is just a part of the job! You look at every nook and cranny of a project before you can consider it complete…

剑指offer java版(一)

二维数组中的查找 问题描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断…