一、DM数据库大小写敏感问题思考
1.判断数据库大小写敏感
(1)当你在安装完DM数据库后,开始初始化实例时就会有选项
(字符串比较大小写敏感),这个是实例一旦创建好就无法再次修改的选项,请根据需要选择。
(2)如果实例创建时间比较长,忘记了大小写是不是敏感了,可以在manager工具里查看。
我们在登录用户后,右击我们的LOCALHOST,点击管理服务器,看到我们的大小写敏感选项
或者是在查询里使用语句
SELECT SF_GET_CASE_SENSITIVE_FLAG();
注:1为大小写敏感,0为大小写不敏感
2.大小写不敏感的实例
(1)创建表
我们先创建一个名为test10的表
我们再创建一个名为TEST10的表
我们使用了大小写区分这两张表,但还是只能存在一张同名的表
(2)插入数据
我们向表test10插入一条数据,并查看,可以看到我们是插入成功了
我们向表TEST10插入一条数据,并查看,可以看到我们是插入成功
了
(3)小结
大小写不敏感的数据库中:
DML或DDL操作时:
1)无论对不对表名或列名添加"",表名和列名的大小写形式不会发生变化,大写形式就是大写形式,小写形式就是小写形式;
2)不允许存在同名的数据库对象,即使大小写不同,默认也只能存在一个;
3)查询时,""界定符不区分大小写,界定符中的查询或过滤条件即使是大写或小写,都可以查询到预期的结果集,进行DML操作时依旧。
3.大小写敏感的实例
(1)创建表
我们先创建一个名为test10的表
可以看到,我们SQL语句创建的表名为test10,但实际创建的表为TEST10,这就是大小写敏感所导致的。
这我们还是创建test10,但是用””引起来,可以看见我们成功创建了
(2)插入数据
我们向表test10插入一条数据,并查看,可以看到是报错了,从这里也可以看出,这是大小写敏感所产生的问题。
我们向表TEST10插入一条数据,并查看,可以看到我们是插入成功
了。
(3)小结
大小写敏感的数据库中:
DML或DDL操作时:
1)如果不对表名或列名添加"",那么表名和列名都自动转换为大写形式;
2)对其进行DML操作时,需要利用”“指定表名和字段名,否则默认会认定以大写形式去查询对象。
想了解更多达梦数据库相关信息,欢迎访问达梦技术社区:首页 | 达梦云设配中心(dameng.com)