当前位置: 首页 > article >正文

对达梦数据库CASE_SENSITIVE参数的探讨

对达梦数据库CASE_SENSITIVE参数的探讨
一、环境准备
安装dm8数据库软件(略)
二、初始化实例
2.1初始化实例
A机器(大小写不敏感):
./dminit PATH=/home/dataproda DB_NAME=PRODA instance_name=PRODA SYSDBA_PWD=Dameng123 PORT_NUM=5237 CASE_SENSITIVE=N

B机器(大小写敏感):
./dminit PATH=/home/dataprodb DB_NAME=PRODB instance_name=PRODB SYSDBA_PWD=Dameng123 PORT_NUM=5238 CASE_SENSITIVE=Y
2.2注册服务并启动实例
A机器:
./dm_service_installer.sh -t dmserver -p PRODA -dm_ini /home/dataproda/PRODA/dm.ini
[dmdba@localhost bin]$ ./DmServicePRODA status
DmServicePRODA is stopped
[dmdba@localhost bin]$ ./DmServicePRODA start
Starting DmServicePRODA: [ OK ]
[dmdba@localhost bin]$ ./DmServicePRODA status
DmServicePRODA (pid 11228) is running.

B机器:
./dm_service_installer.sh -t dmserver -p PRODB -dm_ini /home/dataprodb/PRODB/dm.ini
[dmdba@localhost bin]$ ./DmServicePRODB status
DmServicePRODB is stopped
[dmdba@localhost bin]$ ./DmServicePRODB start
Starting DmServicePRODB: [ OK ]
[dmdba@localhost bin]$ ./DmServicePRODB status
DmServicePRODB (pid 17193) is running.

2.3测试大小写不敏感的PRODA实例
[dmdba@localhost bin]$ ./disql sysdba/Dameng123:5237
服务器[LOCALHOST:5237]:处于普通打开状态
登录使用时间 : 11.320(ms)
disql V8
SQL> select name,instance_name,status$ from v i n s t a n c e ; 行号 n a m e i n s t a n c e n a m e s t a t u s instance; 行号 name instance_name status instance;行号nameinstancenamestatus


1 PRODA PRODA OPEN
已用时间: 0.850(毫秒). 执行号:62601.
SQL> select value,sys_value from v$parameter where name=‘GLOBAL_STR_CASE_SENSITIVE’;
行号 VALUE sys_value


1 0 0
已用时间: 5.012(毫秒). 执行号:62602.
SQL> SELECT CASE_SENSITIVE();
行号 CASE_SENSITIVE()


1 0
已用时间: 0.733(毫秒). 执行号:62603.
验证表数据
SQL> CREATE TABLE a(C1 INT);
操作已执行
已用时间: 8.605(毫秒). 执行号:62604.
SQL> SELECT * FROM a;
未选定行
已用时间: 0.765(毫秒). 执行号:62605.
SQL> SELECT * FROM A;
未选定行
已用时间: 0.730(毫秒). 执行号:62606.
SQL> SELECT * FROM “a”;
未选定行
已用时间: 0.586(毫秒). 执行号:62607.
SQL> SELECT * FROM “A”;
未选定行
已用时间: 0.574(毫秒). 执行号:62608.
SQL> CREATE TABLE tt(C1 VARCHAR(100));
操作已执行
已用时间: 4.487(毫秒). 执行号:62609.
SQL> INSERT INTO tt VALUES(‘a’);
影响行数 1
已用时间: 0.797(毫秒). 执行号:62610.
SQL> INSERT INTO tt VALUES(‘A’);
影响行数 1
已用时间: 0.679(毫秒). 执行号:62611.
SQL> COMMIT;
操作已执行
已用时间: 1.031(毫秒). 执行号:62612.
SQL> SELECT COUNT() FROM tt WHERE C1=‘A’;
行号 COUNT(
)


1 2
已用时间: 1.106(毫秒). 执行号:62613.

对列的影响
SQL> create table test2(id int);
操作已执行
已用时间: 3.854(毫秒). 执行号:62601.
SQL> insert into test2 values(2);
影响行数 1
已用时间: 0.579(毫秒). 执行号:62602.
SQL> select id from test2;
行号 id


1 2
已用时间: 0.573(毫秒). 执行号:62604.
SQL> select ID from test2;

行号 ID


1 2
已用时间: 0.642(毫秒). 执行号:62605.

SQL> create table test3(“id” int);
操作已执行
已用时间: 7.849(毫秒). 执行号:62606.
SQL> insert into test3 values(2);
影响行数 1

已用时间: 0.913(毫秒). 执行号:62607.
SQL> select id from test3;

行号 id


1 2

已用时间: 0.538(毫秒). 执行号:62608.
SQL> select ID from test3;

行号 ID


1 2

已用时间: 1.324(毫秒). 执行号:62609.
SQL> desc test3;

行号 name type$ nullable


1 id INTEGER Y

已用时间: 7.014(毫秒). 执行号:62610.
SQL> create table “test” (“name” varchar,NAME varchar);
create table “test” (“name” varchar,NAME varchar);
第1 行附近出现错误[-2116]:列[NAME]已存在.
已用时间: 1.207(毫秒). 执行号:0.
2.4测试大小写敏感的PRODB实例
[dmdba@localhost bin]$ ./disql sysdba/Dameng123:5238
服务器[LOCALHOST:5238]:处于普通打开状态
登录使用时间 : 13.836(ms)
disql V8
SQL> select name,instance_name,status$ from v i n s t a n c e ; 行号 N A M E I N S T A N C E N A M E S T A T U S instance; 行号 NAME INSTANCE_NAME STATUS instance;行号NAMEINSTANCENAMESTATUS


1 PRODB PRODB OPEN
已用时间: 10.530(毫秒). 执行号:62601.
SQL> select value,sys_value from v$parameter where name=‘GLOBAL_STR_CASE_SENSITIVE’;
行号 VALUE SYS_VALUE


1 1 1
已用时间: 5.436(毫秒). 执行号:62602.
SQL> SELECT CASE_SENSITIVE();
行号 CASE_SENSITIVE()


1 1

已用时间: 0.585(毫秒). 执行号:62603.
SQL> CREATE TABLE a(C1 INT);
操作已执行
已用时间: 4.169(毫秒). 执行号:62604.
SQL> SELECT * FROM a;
未选定行
已用时间: 0.916(毫秒). 执行号:62605.
验证表数据
SQL> CREATE TABLE tt(C1 VARCHAR(100));
操作已执行
已用时间: 3.361(毫秒). 执行号:62606.
SQL> INSERT INTO tt VALUES(‘a’);
影响行数 1
已用时间: 0.803(毫秒). 执行号:62607.
SQL> INSERT INTO tt VALUES(‘A’);
影响行数 1
已用时间: 0.546(毫秒). 执行号:62608.
SQL> COMMIT;
操作已执行
已用时间: 0.951(毫秒). 执行号:62609.
SQL> SELECT COUNT() FROM tt WHERE C1=‘a’;
行号 COUNT(
)


1 1
已用时间: 0.939(毫秒). 执行号:62610.
SQL> SELECT COUNT() FROM tt WHERE C1=‘A’;
行号 COUNT(
)


1 1
已用时间: 1.080(毫秒). 执行号:62611.
对列的影响
SQL> create table test2(id int);
操作已执行
已用时间: 32.602(毫秒). 执行号:62801.
SQL> desc test2;

行号 NAME TYPE$ NULLABLE


1 ID INTEGER Y

已用时间: 27.989(毫秒). 执行号:62802.
SQL> select id from test2;
未选定行

已用时间: 3.612(毫秒). 执行号:62803.
SQL> select ID from test2;
未选定行

已用时间: 3.851(毫秒). 执行号:62804.
SQL> insert into test2 values(2);
影响行数 1

已用时间: 2.836(毫秒). 执行号:62805.
SQL> select ID from test2;

行号 ID


1 2
已用时间: 1.023(毫秒). 执行号:62806.
SQL> select id from test2;
行号 ID


1 2
已用时间: 0.883(毫秒). 执行号:62807.

SQL> create table test3(“id” int);
操作已执行
已用时间: 18.156(毫秒). 执行号:62808.
SQL> insert into test3 values(2);
影响行数 1
已用时间: 0.731(毫秒). 执行号:62809.
SQL> select id from test3;
select id from test3;
第1 行附近出现错误[-2111]:无效的列名[ID].
已用时间: 1.713(毫秒). 执行号:0.
SQL> select ID from test3;
select ID from test3;
第1 行附近出现错误[-2111]:无效的列名[ID].
已用时间: 0.532(毫秒). 执行号:0.
SQL> select “ID” from test3;
select “ID” from test3;
第1 行附近出现错误[-2111]:无效的列名[ID].
已用时间: 0.821(毫秒). 执行号:0.
SQL> select “id” from test3;
行号 id


1 2
已用时间: 3.870(毫秒). 执行号:62810.

SQL> create table “test” (“name” varchar,NAME varchar);
操作已执行
已用时间: 12.306(毫秒). 执行号:62811.
2.5学习心得
1.大小写敏感
(1)不加双引号,创建表时会自动将表名和列名自动转换成大写形式,加双引号表名和列名则会保留原形式。
(2)大小写不同的两个表是不同对象。
(3)一个表中,允许存在同名但大小写形式不同的字段。
(4)如果不加双引号,SQL语句中表名和对象名会被自动转成大写。
(5)对于表中字符数据是严格区分大小写的。
2.大小写不敏感
(1)无论对不对表名或列名加双引号,表名和列名大小写形式不会发生变化,创建时是大写就是大写,是小写就是小写。
(2)不允许存在同名的数据库对象,即使大小写不同也算同名。
(3)一个表中,不允许出现相同字段名,大小写不同也算同名。
(4)字段字符内容也不区分大小写,无论是大写还是小写都认为是相同的值。

如有兴趣可以上达梦社区查看详情:https://eco.dameng.com

http://www.lryc.cn/news/2414745.html

相关文章:

  • KVM详解,太详细太深入了,经典
  • Android性能优化第(六)篇---TraceView 分析图怎么看
  • P2P(Peer to Peer)网络的原理
  • 【Android TV 开发】-->一些优秀 TV 开发相关框架 文章
  • OpenGL绘图基础
  • 基础电子元器件介绍-4.二极管
  • 第十三篇 Python建模库介绍
  • Sudoku Problem Solver (数独游戏解谜器)
  • 什么是腾讯云轻量应用服务器?2023年腾讯云轻量与云服务器对比区别有哪些?
  • 洗牌算法
  • 网站设计基础:简述各类有创意的导航方式
  • AutobahnPython: 功能强大的实时通信框架
  • 如何在 Linux下进行文件切割操作?
  • .net面试问答(大汇总)
  • 记一次配置华为路由器DDNS(花生壳)动态域名解析
  • awstats的安装和配置
  • C# System.NullReferenceException 异常与回调函数初始化
  • CSDN积分获取方法(转)
  • 101个微软提供的Visual Studio 2005示例
  • 谷歌浏览器GoogleChrome“无法访问此网站”问题解决
  • Video_player_for_3DS 开源项目教程
  • EventHandler(事件处理器)学习
  • VBA中 InputBox 函数
  • 论文速读之SUNet、MAXIM、Restormer、MIRNet、SwinIR、HINet、MPRNet、CSRNet
  • ARM Cortex M3 基础(学习笔记)
  • CopyFile 使用方法
  • 数据库系统原理
  • 【CTS测试】CTS测试环境搭建
  • C++图片保存,加载(LoadImage()),编辑,资源句柄(HBITMAP )的使用总结
  • Root你的设备