提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
众所周知,达梦的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 5月 10 09:48 asmcmd.txt
drwxr-xr-x. 17 dmdba dinstall 276 5月 14 16:07 dmdbms
-rw-r--r--. 1 root root 95240 4月 6 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