达梦disql的环境变量设置和常用命令

10 篇文章 1 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

众所周知,达梦的manager管理工具非常的好用,但是在有些或者特定的场景下,可能不是特别适用了,接下来为大家介绍达梦的disql工具的一些环境变量的设置和一些常用命令的解析


一、环境变量

1.DEFINE
是否使用DEFINE 定义本地变量。
语法如下:
SET DEFINE<c(默认的变量前缀是&)|ON(默认值)|OFF>
c:表示打开DEFINE功能,同时定义前缀变量符号,c 为定义的前缀符号。
ON:表示打开DEFINE功能,使用默认前缀符号&。
OFF:表示不使用DEFINE功能。

SQL> set define .
SQL> select .a from t1;
输入 a的值:2
原值 1:select .a from t1;
新值 1:select 2 from t1;

行号     2          
---------- -----------
1          2
2          2
3          2

已用时间: 1.075(毫秒). 执行号:506.

2.FEED
是否显示当前SQL语句查询或修改的总行数。
语法如下:
SET FEED[BACK] <6(默认值)|n|ON|OFF>
n:表示结果大于n行时,才显示结果的总行数。
ON:打开显示开关,使用默认值6。
OFF:关闭显示开关。

区别在于当我n大于表中的总行数时,最后的rows got不会输出出来
SQL> set feed 5
SQL>  select * from t1;

行号     ID          NAME  
---------- ----------- ------
1          1           张三
2          2           李四
3          3           王五
4          4           王五
5          5           张兰

5 rows got

已用时间: 0.410(毫秒). 执行号:606.
SQL> set feed 6
SQL>  select * from t1;

行号     ID          NAME  
---------- ----------- ------
1          1           张三
2          2           李四
3          3           王五
4          4           王五
5          5           张兰

已用时间: 0.403(毫秒). 执行号:607.

3.HEA[DING]
SET HEA[DING] <ON(默认值)|OFF>
当SET HEADING OFF 时,在每页的上面不显示列标题,而是以空白行代替。

SQL>  select * from t1;

行号     ID          NAME  
---------- ----------- ------
1          1           张三
2          2           李四
3          3           王五
4          4           王五
5          5           张兰

已用时间: 0.403(毫秒). 执行号:607.
SQL> set heading off
SQL> select * from t1;

1          1           张三
2          2           李四
3          3           王五
4          4           王五
5          5           张兰

4.LISTSHOW
LINESHOW 设置是否显示行号。
语法如下:
SET LINESHOW<ON(默认值)|OFF >; 默认为每行输出打印行号。

SQL>  select * from t1;

行号     ID          NAME  
---------- ----------- ------
1          1           张三
2          2           李四
3          3           王五
4          4           王五
5          5           张兰

SQL> set lineshow off
SQL> select * from t1;
ID          NAME  
----------- ------
1           张三
2           李四
3           王五
4           王五
5           张兰

5.NEWP[AGE]
设置页与页之间的分隔。
语法如下:
SET NEWP[AGE] <1(默认值)|n|NONE>
当SET NEWPAGE 0 时,在每页的开头有一个换号符。
当SET NEWPAGE n 时,在页和页之间隔着n 个空行。
当SET NEWPAGE NONE 时,在页和页之间没有任何间隔。

SQL> set newp 3
SQL> select * from t1;



1           张三
2           李四
3           王五
4           王五
5           张兰

已用时间: 0.328(毫秒). 执行号:611.
SQL> set newp none
SQL> select * from t1;
1           张三
2           李四
3           王五
4           王五
5           张兰

已用时间: 0.229(毫秒). 执行号:612.

6.PAGES[IZE]
设置一页有多少行数。
语法如下:
SET PAGES[IZE] <14(默认值)|n>
如果设为0,则所有的输出内容为一页并且不显示列标题。默认值为14。

SQL> select * from t1;
ID          NAME  
----------- ------
1           张三
2           李四
3           王五
4           王五
5           张兰

已用时间: 0.209(毫秒). 执行号:614.
SQL> set pages 1
SQL> select * from t1;
ID          NAME  
----------- ------
1           张三
ID          NAME  
----------- ------
2           李四
ID          NAME  
----------- ------
3           王五
ID          NAME  
----------- ------
4           王五
ID          NAME  
----------- ------
5           张兰

已用时间: 0.271(毫秒). 执行号:615.

7.TIMING
显示每个SQL语句花费的执行时间。
语法如下:
SET TIMING<ON(默认值)|OFF>

SQL> select * from t1;
ID          NAME  
----------- ------
1           张三
ID          NAME  
----------- ------
2           李四
ID          NAME  
----------- ------
3           王五
ID          NAME  
----------- ------
4           王五
ID          NAME  
----------- ------
5           张兰

已用时间: 0.591(毫秒). 执行号:616.
SQL> set timing off
SQL> select * from t1;
ID          NAME  
----------- ------
1           张三
ID          NAME  
----------- ------
2           李四
ID          NAME  
----------- ------
3           王五
ID          NAME  
----------- ------
4           王五
ID          NAME  
----------- ------
5           张兰

8.LINESIZE
设置屏幕上一行显示宽度。
SET LINESIZE <screen_length(默认值,屏幕宽度)|n>

SQL> select * from t1;
ID          NAME
----------- ----
1           张三
2           李四
3           王五
4           王五
5           张兰

已用时间: 0.476(毫秒). 执行号:619.
SQL> set linesize 5
SQL> select * from t1;
ID         
-----------
NAME
----
1
张三

2
李四

3
王五

ID         
-----------
NAME
----
4
王五

5
张兰


已用时间: 0.275(毫秒). 执行号:620.

9.KEEPDATA
是否为数据对齐进行优化,或者保持数据的原始格式。
语法如下:
SET KEEPDATA < ON | OFF(默认值)>
OFF:表示为保证数据的对齐格式,DIsql 对服务器传回的字符串数据,将其中的换 行符、TAB 都转换为空格。缺省为OFF。
ON:表示关闭对齐优化。

10.SHOW
通过使用SHOW 命令,用户就可以快速而方便的了解到DIsql环境的当前环境变量设置。SHOW可以显示一个或多个变量。显示多个变量时中间加空格,当其中某一变量出错之后,后面的仍会继续显示。

语法如下:

SHOW <system_variable>{<system_variable>}

<system_variable>:环境变量。

SQL> show linesize timing lineshow heading
LINESIZE 1
TIMING ON 
SHOW LINE OFF 
HEADING ON. 

二、常用命令

1.SPOOL
作用:将屏幕显示的内容输出到指定文件

语法如下:

SPOOL { | OFF }

::= <file_path> [CRE[ATE]|REP[LACE]|APP[END]]

<file_path>:指定文件的绝对路径

CRE[ATE]:创建指定的文件,若指定的文件已存在,则报错,默认方式

REP[LACE]:创建指定的文件,若指定的文件已存在,则替换它

APP[END]]:将输出内容追加到指定文件的末尾

OFF:关闭SPOOL 输出

SQL> spool /opt/dmdbms/1.sql create
SQL> select * from t1;
ID          NAME
----------- ----
1           张三
2           李四
3           王五
4           王五
5           张兰

已用时间: 1.041(毫秒). 执行号:624.

[dmdba@czk dmdbms]$ cat 1.sql 
SQL> select * from t1;
ID          NAME
----------- ----
1           张三
2           李四
3           王五
4           王五
5           张兰

2.HOST
作用: 使用HOST命令可以不用退出DIsql就能执行操作系统命令。如果单独执行host,则能够直接从DIsql界面切换到操作系统,之后可使用 EXIT回到 DIsql界面。
语法如下:
HOST []

SQL> host ls -l /opt
总用量 100
-rw-r--r--.  1 root  root       339 510 09:48 asmcmd.txt
drwxr-xr-x. 17 dmdba dinstall   276 514 16:07 dmdbms
-rw-r--r--.  1 root  root     95240 46 19:45 rlwrap-0.42-1.el6.x86_64.rpm

3.DESC
作用:获取表或视图、存储过程、函数、包、记录、类的结构描述。

SQL> desc t1;
NAME TYPE$ NULLABLE
---- ----- --------
ID   INTEGER     Y
NAME VARCHAR(20) Y

已用时间: 12.753(毫秒). 执行号:625.

4.LIST
显示最近执行的SQL语句或者PL/SQL块信息。不显示DIsql命令。

SQL> list
1* select * from v$bufferpool;

5.START 执行脚本命令

SQL> start /opt/dmdbms/test.sql
SQL> create table t01(c1 varchar(100), c2 varchar(100));
操作已执行
已用时间: 6.713(毫秒). 执行号:704.
SQL> begin
for  i  in 1..10  loop
insert into t01 values('a'||i, 'b'||i);
end loop;
end;
DMSQL 过程已成功完成
已用时间: 0.593(毫秒). 执行号:705.

6.EDIT 可以用来编辑脚本的信息

SQL> edit /opt/dmdbms/test.sql

create table t01(c1 varchar(100), c2 varchar(100));

begin

for  i  in 1..10  loop

insert into t01 values('a'||i, 'b'||i);

end loop;

end;

/

总结

如果还有其他问题,欢迎到达梦社区来提问~
社区地址:https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值