Oracle&&Enterprisedb中的大小写

1.oracle中的大小写

先上问题:

1)oracle中允许创建表名为小写字母的表么(比如table名为test?

2)如果存在一个表名为ri_gds的表,请问下面三个语句哪个不会报错?

a.select * from ri_Gds;

b.select * from ri_gds;

c.select * from RI_GDS;

 

2.Enterprisedb中的大小写

先上问题:

3)EDB中允许创建表名为大写字母的表么(比如table名为TEST?

4)如果存在一个表名为ri_gds的表,请问下面三个语句哪个不会报错?

a.如果有一张表ri_gds,  比如 select * from RI_gdS;   会报错么?   or不会
b.如果有一张表RI_GDS select * from RI_GDS;会报错么? or不会 

 

 

 

3.公布答案:

针对1   1)允许   2)三句都会出错

针对2   3)允许  4不会,b会报错

 

4.试验我就不做了,这些试验很简单,不信的童鞋可以自己在数据库中试一下。

5.结论:oracle的默认会把字母转为大写字母,即无论你输入的是ri_Gdsri_gdsRI_GDS都会转成RI_GDS,所以平时我们查询时输入小写的字母也不会报错,只要库中有对应的大家表名的表对象;如果库中有一个表名为小写字母的数据表,查询会失败,在查询的表名上加上双引号就可以了,oracle就不会自动转换了,select * from “ri_gds”;就能正确执行,但我们平时使用时,还是最好遵守规则。而Edb正好和oracle相反,默认会把用户所有的输入转换成小写,一般oracle迁移到enterprisedb后,对象名都默认转换成了小写,所以无论用户输入大写还是小写,都能正确执行。

你可能感兴趣的:(oracle,大小写,edb,EnterpriseDB)