Linux达梦数据库disql,达梦数据库Disql⽤法详解之Disql命令⾏
命令⽤法介绍
达梦数据库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屏幕。
plsql12配置数据库连接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]
设置⾃动提交
DEFINE
定义本地变量
ECHO
显⽰脚本中正在执⾏的 SQL 语句
FEED[BACK]
<6(默认值) |n|ON|OFF>
显⽰当前 SQL 语句查询或修改的⾏数
HEA[DING]
显⽰列标题
LINESHOW
显⽰⾏号
NEWP[AGE]
<1(默认值) |n|NONE>
设置页与页之间的分隔
PAGES[IZE]
<14(默认值) |n>
设置⼀页有多少⾏数
TIMING
显⽰每个 SQL 语句花费的执⾏时间
TIME
显⽰系统的当前时间
VER[IFY]
列出环境变量被替换前、后的控制命令⽂本LONG
<800(默认值)|n>
设置⼤字段类型显⽰的最⼤字节数
LINESIZE
设置屏幕上⼀⾏显⽰宽度
SERVEROUT[PUT]
[SIZE
<20000(默认值)|n>][FOR[MAT]
WOR[D_WRAPPED](默认值)| TRU[NCATED]>]在块中有打印信息时,是否打印,以及打印的格式SCREENBUFSIZE
设置屏幕缓冲区的长度
CHAR_CODE
设置 SQL 语句的编码⽅式
CURSOR
设置 DPI 语句句柄中游标的类型
AUTOTRACE
|ON|TRACE>
设置执⾏计划和统计信息的跟踪
DESCRIBE
[DEPTH <1(默认值) | n |
ALL>][LINE[NUM] ][INDENT
]
设置 DESCRIBE 的显⽰⽅式
TRIMS[POOL]
设置 spool ⽂件中每⾏的结尾空格
LOBCOMPLETE
设置⼤字段数据是否从服务器全部取出
COLSEP
[text]
设置列之间的分割符。缺省为⼀个空格
KEEPDATA
是否为数据对齐进⾏优化,或者保持数据的原始格式。 ON 不优化, OFF 对齐优化。缺省为OFF AUTORECONN
是否⾃动重新连接。 ON 是,OFF 否。缺省为 OFF
NEST_COMMENT
是否⽀持多⾏注释嵌套。 ON是, OFF 否。 缺省为 OFF
NULL_ASNULL
在绑定参数输⼊时, 是否将输⼊的 NULL 当作数据库的 null 处理。 ON 是,
OFF 否。 缺省为OFF
CMD_EXEC
是否执⾏⽂件中“/” 命令。 ON是, OFF 否。缺省为 ON
CHARDEL
[text]
设置字符串的限定符。缺省为⼀个空格
FLOAT_SHOW
<0(默认值)| float_length>
设置 FLOAT、
DOUBLE 类型按科学计数法显⽰的分界长度。 默认为 0,代表全部按科学计数法显⽰

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。