达梦disql环境变量设置
Posted DBA工作笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了达梦disql环境变量设置相关的知识,希望对你有一定的参考价值。
达梦除了使用DM图形化管理工具对数据库进行操作外,还可以使用非图形化的disql工具执行SQL语句,如果想让DISQL工具更有效地工作,那么一定要了解DISQL这个工具的环境变量设置。
一、SET命令
达梦使用SET命令对当前DISQL的环境变量进行设置,并通过SHOW命令来查看当前系统中环境变量的设置情况。
SET命令用法:
语法如下:
SET <system_variable><value> <system_variable><value>
<system_variable>:变量名称,
<value>:属性。
可以同时SET多个环境变量,如:set heading on timing on。一旦SET之后某个环境变量出错,那么该变量之后的将不再起作用。
1.AUTO
设置当前session是否对修改的数据进行自动提交。
语法如下:
Set auto[commit] <on|off>
ON:表示打开自动提交,所有执行的SQL语句的事务将自动进行提交。
OFF:表示关闭自动提交,所有执行的SQL语句的事务将由用户显式提交,为默认设置。
2.DEFINE
是否使用DEFINE 定义本地变量。
语法如下:
SET DEFINE<c(默认的变量前缀是&)|ON(默认值)|OFF>
c:表示打开DEFINE功能,同时定义前缀变量符号,c 为定义的前缀符号。
ON:表示打开DEFINE功能,使用默认前缀符号&。
OFF:表示不使用DEFINE功能。
示例如下,打开DEFINE功能,并设置#为变量前缀。
3.ECHO
在用START命令执行一个SQL脚本时,是否显示脚本中正在执行的SQL语句。
SET ECHO <ON(默认值)|OFF>
4.FEED
是否显示当前SQL语句查询或修改的总行数。
语法如下:
SET FEED[BACK] <6(默认值)|n|ON|OFF>
n:表示结果大于n行时,才显示结果的总行数。
ON:打开显示开关,使用默认值6。
OFF:关闭显示开关。
示例如下:
Feed定为8,记录条数超过8,显示总条数。
Feed定为10,记录条数为5,结果没有显示总条数。
5.HEA[DING]
SET HEA[DING] <ON(默认值)|OFF>
当SET HEADING OFF 时,在每页的上面不显示列标题,而是以空白行代替。
6.LINESHOW
LINESHOW 设置是否显示行号。
语法如下:
SET LINESHOW<ON(默认值)|OFF >; 默认为每行输出打印行号。
7.NEWP[AGE]
设置页与页之间的分隔。
语法如下:
SET NEWP[AGE] <1(默认值)|n|NONE>
当SET NEWPAGE 0 时,在每页的开头有一个换号符。
当SET NEWPAGE n 时,在页和页之间隔着n 个空行。
当SET NEWPAGE NONE 时,在页和页之间没有任何间隔。
8.PAGES[IZE]
设置一页有多少行数。
语法如下:
SET PAGES[IZE] <14(默认值)|n>
如果设为0,则所有的输出内容为一页并且不显示列标题。默认值为14。
9.TIMING
显示每个SQL语句花费的执行时间。
语法如下:
SET TIMING<ON(默认值)|OFF>
10.LONG
设置BLOB、CLOB、CHAR、VARCHAR、BINARY、VARBINARY、CLASS等类型一列能显示的最大字节数。
语法如下:
SET LONG <800(默认值)|n>
11.LINESIZE
设置屏幕上一行显示宽度。
SET LINESIZE <screen_length(默认值,屏幕宽度)|n>
12.LOBCOMPLETE
设置LOBCOMPLETE,是否从服务器中全部取出大字段数据。
语法如下:
SET LOBCOMPLETE <OFF(默认值) | ON>
对于大字段数据,是否从服务器全部取出,防止死锁的发生;与显示长度不同,即便是全部取出,也可以只显示一部分。
13.COLSEP
设置列之间的分割符。
语法如下:
SET COLSEP [text]
如果text包含空格或标点符号,请用单引号扩起来。默认为一个空格。
14. TIMING
显示每个SQL 语句花费的执行时间。
语法如下:
SET TIMING<ON(默认值)|OFF>
15.KEEPDATA
是否为数据对齐进行优化,或者保持数据的原始格式。
语法如下:
SET KEEPDATA < ON | OFF(默认值)>
OFF:表示为保证数据的对齐格式,DIsql 对服务器传回的字符串数据,将其中的换 行符、TAB 都转换为空格。缺省为OFF。
ON:表示关闭对齐优化。
16.SCREENBUFSIZE
设置屏幕缓冲区的长度。用来存储屏幕上显示的内容。
语法如下:
SET SCREENBUFSIZE<DEFAULT(20K) | n>
二、SHOW命令查看环境变量
通过使用SHOW 命令,用户就可以快速而方便的了解到DIsql环境的当前环境变量设置。SHOW可以显示一个或多个变量。显示多个变量时中间加空格,当其中某一变量出错之后,后面的仍会继续显示。
语法如下:
SHOW <system_variable><system_variable>
<system_variable>:环境变量。
示例如下,显示HEADING 和TIMING 两个变量:
DISQL你不知道的小秘密之“disql pagesize”设置
set命令用于设置disql系统环境变量,通过使用show命令,用户就可以快速而方便的了解到disql环境的当前环境变量设置。
测试环境:中标麒麟6 64位,达梦数据库版本7简称DM7
启动disql工具,在“SQL>”可用利用help命令,获取set和show的帮助。
演示1:启动disql
[[email protected] ~]$ disql /nolog
disql V7.1.5.42-Build(2015.12.30-64335trunc)
SQL>
说明:disql /nolog只是启动disql工具。如果想详细了解disql命令的用法,使用disql –h获取做更多disql的使用信息。
演示2:获取set帮助
SQL> help set
演示3:获取show帮助
SQL> help show
DM7已经把常用的配置设置成默认值,如autocommit默认关闭,long默认是800等等。这样减少了对disql参数的调试,方便大家的使用。通过pagesize设置为例,其他参数设置举一反三,根据需求调整相应的参数设置。
pagesize可以设置每一页的大小,从而控制每一页显示的数据量,如果设为0,则所有的输出内容为一页并且不显示列标题。默认值为14。
演示4:查看pagesize的默认值
SQL> show pagesize
PAGESIZE 14
演示5:创建测试表t1
create table t1 (col1 int);
演示6:录入数据:
SQL> begin
for i in 1..20 loop
insert into t1 values (i);
end loop;
commit;
end;
/
演示7:查看t1表的数据
SQL> select * from t1;
行号 COL1
---------- -----------
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
行号 COL1
---------- -----------
12 12
13 13
14 14
……
注意:上述数据输出达到14行就分页了,要仔细查看上述显示信息,不要被数字11迷惑。
演示8:调整pagesize的值
SQL> set pagesize 30
演示9:查看设置后pagesize的值
SQL> show pagesize
PAGESIZE 30
演示10:查看t1表的数据
SQL> select * from t1;
行号 COL1
---------- -----------
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
把pagesize设置成30,这时查询20行的数据分页就消失了。disql的参数十分灵活,可用根据实际需求,进行个性化调整。
以上是关于达梦disql环境变量设置的主要内容,如果未能解决你的问题,请参考以下文章
DISQL你不知道的小秘密之“disql pagesize”设置