暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

达梦数据库Disql用法详解之Disql命令行命令用法介绍

原创 刘宗宝 2021-01-26
5114

原文链接

达梦数据库Disql用法详解之Disql命令行命令用法介绍

1、将disql产生的记录信息输入到指定文件中,如将select sysdate from dual的结果保存到C:\dmdbms\sysdate.sql文件中

SQL> spool C:\dmdbms\sysdate.sql

SQL> select sysdate from dual;

 

行号       SYSDATE

 

---------- ---------------------------------------------------------------------

-------------------------------

1          2020-12-14 16:46:28

 

已用时间: 0.425(毫秒). 执行号:405.

SQL> spool off

SQL>


如果想要把其他查询信息追加到上面C:\dmdbms\sysdate.sql中,可以使用append参数,也可以使用replace参数替换已存在文件,如下追加select table_name from dba_tables where rownum = 1内容至C:\dmdbms\sysdate.sql中

SQL> spool C:\dmdbms\sysdate.sql append

SQL> select table_name from dba_tables where rownum = 1;

 

行号       TABLE_NAME

---------- ----------

1          SYSOBJECTS

 

已用时间: 18.484(毫秒). 执行号:411.

SQL> spool off

SQL>

2、显示disql窗口最近执行的SQL语句或者plsql块

SQL> l

1* select table_name from dba_tables where rownum = 1;

SQL> list

1* select table_name from dba_tables where rownum = 1;

SQL> ;

1* select table_name from dba_tables where rownum = 1;

SQL>


3、环境变量配置命令,如设置disql命令行自动提交,查询结果不显示列标题,并显示每个SQL语句执行花费的执行时间。

SQL> set autocommit on heading off

SQL> set timing on


Set命令用来配置disql命令行环境变量,可以同时设置多个环境变量,也可以单个设置,关于set命令配置的环境变量及其配置值详细说明,见文章末【附:Disql命令行常用环境变量】

4、通过disql调用编辑器编写脚本内容查询当前系统时间,并调用脚本进行执行,要求脚本内容中需要打印提示信息至disql屏幕。

SQL> select sysdate from dual;

 

行号       SYSDATE

 

---------- ---------------------------------------------------------------------

-------------------------------

1          2020-12-24 11:00:49

 

已用时间: 9.627(毫秒). 执行号:4.

SQL> edit

SQL> start C:\dmdbms\data\sysdate.sql

SQL> prompt '查询当前系统时间'

 '查询当前系统时间'

SQL> select sysdate from dual;

 

行号       SYSDATE

 

---------- ---------------------------------------------------------------------

-------------------------------

1          2020-12-24 11:06:00

 

已用时间: 0.225(毫秒). 执行号:5.

SQL>

脚本内容:

prompt '查询当前系统时间'

select sysdate from dual;


Disql中可以使用prompt命令将要操作的提示信息打印在disql屏幕上。Disql命令行内部调用脚本有2种方式,使用start命令或者使用·(反引号)来直接调用脚本,当然也可以通过使用disql –E参数直接在命令行外部执行脚本。

5、使用explain命令查看select count(*) from v$threads的执行计划,执行完成之后清理执行信息。

SQL> explain select count(*) from v$threads;

 

1   #NSET2: [0, 1, 0]

2     #PRJT2: [0, 1, 0]; exp_num(1), is_atom(FALSE)

3       #AAGR2: [0, 1, 0]; grp_num(0), sfun_num(1) slave_empty(0)

4         #DSCN: [0, 46, 0]; SYSINDEXV$THREADS(V$THREADS)

 

已用时间: 2.782(毫秒). 执行号:0.

SQL>

SQL> clear scr


Disql中,clear命令用来清理disql缓存信息,可选参数有COL[UMNS]、SQL、SCR[EEN]、BUFF[ER],分别清理所有的column变量信息、本地SQL缓存信息、Disql终端屏幕信息、本地SQL缓存信息(跟SQL参数功能一样)。

6、使用host命令执行操作系统命令,如Linux环境下查看当前目录,Windows环境下切换至C:/dmdbms目录。

Linux:

SQL> host pwd

/opt/dmdbms/bin

Windows:

SQL> host cd C:/dmdbms


7、查看disql中多个结果集查看命令more的帮助信息。

SQL> ? more

 MORE

 ----

 切换到下一个结果集。

 MORE|MR

SQL> help more

 MORE

 ----

 切换到下一个结果集。

 MORE|MR

SQL>


Disql中,使用help或者?来查看指定命令的帮助信息。

附:Disql命令行常用环境变量

变量名称

变量配置值说明

变量作用

AUTO[COMMIT]

<ON|OFF(默认值) >

设置自动提交

DEFINE

<c(默认的变量前缀是&)|ON(默认值)|OFF>

定义本地变量

ECHO

<ON(默认值) |OFF>

显示脚本中正在执行的 SQL 语句

FEED[BACK]

<6(默认值) |n|ON|OFF>

显示当前 SQL 语句查询或修改的行数

HEA[DING]

<ON(默认值) |OFF>

显示列标题

LINESHOW

<ON 默认值|OFF>

显示行号

NEWP[AGE]

<1(默认值) |n|NONE>

设置页与页之间的分隔

PAGES[IZE]

<14(默认值) |n>

设置一页有多少行数

TIMING

<ON(默认值) |OFF>

显示每个 SQL 语句花费的执行时间

TIME

<ON|OFF(默认值) >

显示系统的当前时间

VER[IFY]

<ON(默认值) |OFF>

列出环境变量被替换前、后的控制命令文本

LONG

<800(默认值)|n>

设置大字段类型显示的最大字节数

LINESIZE

<screem_length(默认值,屏幕宽度)|n>

设置屏幕上一行显示宽度

SERVEROUT[PUT]

<ON | OFF(默认值)>[SIZE <20000(默认值)|n>][FOR[MAT] <WRA[PPED]| WOR[D_WRAPPED](默认值)| TRU[NCATED]>]

在块中有打印信息时,是否打印,以及打印的格式

SCREENBUFSIZE

<DEFAULT(20K) | n>

设置屏幕缓冲区的长度

CHAR_CODE

<GBK | GB18030| UTF8 | DEFAULT(默认值,操作系统的编码方式)>

设置 SQL 语句的编码方式

CURSOR

<STATIC | FORWARDONLY (默认值)|DEFAULT>

设置 DPI 语句句柄中游标的类型

AUTOTRACE

<OFF(默认值) | NL | INDEX |ON|TRACE>

设置执行计划和统计信息的跟踪

DESCRIBE

[DEPTH <1(默认值) | n | ALL>][LINE[NUM] <ON | OFF(默认值)>][INDENT <ON | OFF(默认值)>]

设置 DESCRIBE 的显示方式

TRIMS[POOL]

<OFF(默认值)| ON>

设置 spool 文件中每行的结尾空格

LOBCOMPLETE

<OFF(默认值)| ON>

设置大字段数据是否从服务器全部取出

COLSEP

[text]

设置列之间的分割符。缺省为一个空格

KEEPDATA

<ON|OFF(默认值)>

是否为数据对齐进行优化,或者保持数据的原始格式。 ON 不优化, OFF 对齐优化。缺省为OFF

AUTORECONN

<ON|OFF(默认值)>

是否自动重新连接。 ON 是,OFF 否。缺省为 OFF

NEST_COMMENT

<ON|OFF(默认值)>

是否支持多行注释嵌套。 ON是, OFF 否。 缺省为 OFF

NULL_ASNULL

<ON|OFF(默认值)>

在绑定参数输入时, 是否将输入的 NULL 当作数据库的 null 处理。 ON 是, OFF 否。 缺省为OFF

CMD_EXEC

<ON(默认值)|OFF>

是否执行文件中“/” 命令。 ON是, OFF 否。缺省为 ON

CHARDEL

[text]

设置字符串的限定符。缺省为一个空格

FLOAT_SHOW

<0(默认值)| float_length>

设置 FLOAT、 DOUBLE 类型按科学计数法显示的分界长度。 默认为 0,代表全部按科学计数法显示

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论