达梦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命令,获取setshow的帮助。

 

演示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”设置

DISQL你不知道的小秘密之“disql pagesize”设置

达梦数据库 如何启动命令行工具 disql

达梦数据库连接方式

linux平台配置odbc连接dm7达梦数据库

达梦数据库部署