DM8达梦数据库dexp、dimp、disql使用手册

本文围绕DM数据库展开,介绍了dexp和dimp两个命令行工具,用于数据库的逻辑备份和还原,包括其功能、使用方法及参数。还阐述了DIsql命令行客户端工具,涵盖启动、切换登录、使用、退出方式,以及常用命令如HELP、SPOOL等的语法和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、dexp与dimp

1.1 功能简介

  DM数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原。物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。例如使用 RMAN工具进行的备份还原。物理备份还原请参考《DM8 备份与还原》。逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。例如使用dexp和dimp进行的备份还原。逻辑备份还原正是本书所要介绍的内容。
  逻辑导出(dexp)和逻辑导入(dimp)是DM数据库的两个命令行工具,分别用来实现对DM数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原。dexp和 dimp是DM数据库自带的工具,只要安装了DM数据库,就可以在安装目录/dmdbms/bin 中找到。逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
数据库级(FULL):导出或导入整个数据库中的所有对象。
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
表级(TABLES):导出或导入一个或多个指定的表或表分区

1.2 dexp逻辑导出

  dexp工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),在备份前还可以选择生成日志文件,记录备份的过程以供查看。
  dexp工具名称有两种写法dexp和dexpdp。两者语法完全相同。唯一的区别在于,dexp导出的文件必须存放在客户端,dexpdp导出的文件必须存放在服务器端。

1.2.1 使用 dexp 工具

  dexp 工具需要从命令行启动。在 cmd 命令行工具中找到 dexp 所在安装目录/dmdbms/bin,输入 dexp 和参数后回车。参数在下一节详细介绍。
  语法如下:

dexp PARAMETER=<value> { PARAMETER=<value> }
或
dexpdp PARAMETER=<value> { PARAMETER=<value> }

  PARAMETER:dexp 参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。
  <value>:参数取值。
  例 将用户名和密码均为 SYSDBA,IP 地址为 192.168.0.248,端口号为 8888 的数据库采用FULL方式完全导出。/user/data为数字证书路径。导出文件名db_str.dmp,导出的日志文件名为 db_str.log,导出文件的路径为/mnt/dexp/data。

./dexp USERID=SYSDBA/SYSDBA@192.168.0.248:8888#/user/data FILE=db_str.dmp 
DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y

1.2.2 dexp 参数一览表

表 1.2 dexp 参数一览表
参数含义备注
USERID数据库的连接信息必选
FILE明确指定导出文件名称可选。如果缺省该参数,则导出文件名为dexp.dmp
DIRECTORY导出文件所在目录可选
FULL导出整个数据库(N)可选,四者中选其一。缺省为SCHEMAS
OWNER用户名列表,导出一个或多个用户所拥有的所有对象
SCHEMAS模式列表,导出一个或多个模式下的所有对象
TABLES表名列表,导出一个或多个指定的表或表分区
FUZZY_MATCHTABLES 选项是否支持模糊匹配(N)可选
QUERY用于指定对导出表的数据进行过滤的条件。可选
PARALLEL用于指定导出的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导出每张表所使用的线程数,在 MPP 模式下会转换成单线程可选
TABLE_POOL用于设置导出过程中存储表的缓冲区个数可选
EXCLUDE1. 导出内容中忽略指定的对象。对象有CONSTRAINTS、INDEXES、ROWS、TRIGGERS和 GRANTS。比如:EXCLUDE= (CONSTRAINTS,INDEXES) 2. 忽略指定的表,使用 TABLES:INFO 格式,如果使用表级导出方式导出,则使用TABLES:INFO 格式的 EXCLUDE 无效。例如:EXCLUDE= TABLES :table1,table2 3. 忽略指定的模式,使用SCHEMAS:INFO格式,如果使用表级,模式级导出方式导出,则使用SCHEMAS:INFO 格式的 EXCLUDE 无效。例如:EXCLUDE=SCHEMAS :SCH1,SCH2 4.忽略指定的视图,使用 VIEWS:INFO 格式。例如:EXCLUDE= VIEWS:view1,view2可选
INCLUDE导出内容中包含指定的对象,例如:INCLUDE=(CONSTRAINTS,INDEXES) 或者INCLUDE=TABLES:table1,table2可选
CONSTRAINTS导出约束 (Y)可选。此处单独设置与和EXCLUDE/INCLUDE 中批量设置功能一样。设置一个即可
TABLESPACE导出的对象定义是否包含表空间(N)
GRANTS导出权限 (Y)
INDEXES导出索引 (Y)
TRIGGERS导出触发器(Y)
ROWS导出数据行 (Y)
LOG明确指定日志文件名称可选,如果缺省该参数,则导出文件名为dexp.log
NOLOGFILE不使用日志文件(N)可选
NOLOG屏幕上不显示日志信息(N)可选
LOG_WRITE日志信息实时写入文件 (N)可选
DUMMY交互信息处理: 打印§,所有交互都按 YES 处理(Y),NO(N)。缺省为 NO,不打印交互信息可选
PARFILE参数文件名,如果 dexp 的参数很多,可以存成参数文件可选
FEEDBACK每 x 行显示进度 (0)可选
COMPRESS是否压缩导出数据文件(N)可选
ENCRYPT导出数据是否加密 (N)可选,和 ENCRYPT 同时使用
ENCRYPT_PASSWORD导出数据的加密密钥
ENCRYPT_NAME导出数据的加密算法可选。和 ENCRYPT、ENCRYPT_PASSWORD 同时使用。缺省为 RC4
FILESIZE用于指定单个导出文件大小的上限。可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小可选
FILENUM多文件导出时,一个模板可以生成文件数,范围为[1,99],缺省为 99可选
DROP导出后删除原表,但不级联删除 (N)可选
DESCRIBE导出数据文件的描述信息,记录在数据文件中可选
FLASHBACK_SCN用于指定导出表数据的闪回 LSN,和FLASHBACK_TIME 一起使用时只有一个能生效,参数位置靠后的生效可选
FLASHBACK_TIME用于指定导出表数据的闪回时间,和FLASHBACK_SCN 一起使用时只有一个能生效,参数位置靠后的生效可选
COL_DEFAULT_SEPARATE是否单独导出列,缺省值 (Y)可选
WITH_UR导出表数据是否允许脏读(N)可选
SIMPLE_LOG导出日志是否使用简要日志(N)可选
CTRL_INFO控制信息用来控制一些特殊情况导出,缺省为 0可选
HELP显示帮助信息可选

1.3 dimp逻辑导入

  dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。还原的方式可以灵活选择,如是否忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等。
  dimp 工具名称有两种写法 dimp 和 dimpdp。两者语法完全相同。唯一的区别在于,dimp 导入的文件必须存放在客户端,dimpdp 导入的文件必须存放在服务器端。

1.3.1 使用 dimp 工具

  dimp 工具需要从命令行启动。在 cmd 命令行工具中找到 dimp 所在安装目录/dmdbms/bin,输入 dimp 和参数后回车。参数在下一节详细介绍。
  语法如下:

dimp PARAMETER=value { PARAMETER=value }
或
dimpdp PARAMETER=value { PARAMETER=value }

  PARAMETER:dimp 参数。多个参数之间排列顺序无影响,参数之间使用空格间隔。
  value:参数取值。
  例 将逻辑备份采用 FULL 方式完全导入到用户名和密码为 SYSDBA,IP 地址为192.168.0.248,端口号为 8888 的数据库。导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/mnt/data/dexp。

./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp 
DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y

1.3.2 dexp 参数一览表

表 1.3 dimp 参数一览表
参数含义备注
USERID数据库的连接信息必选
FILE输入文件,即 dexp 导出的文件必选
DIRECTORY导入文件所在目录可选
FULL导入整个数据库可选,四者中选其一。缺省为 SCHEMAS
OWNER导入指定的用户名下的模式
SCHEMAS导入的模式列表
TABLES表名列表,指定导入的 tables 名称。不支持对外部表进行导入
PARALLEL用于指定导入的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导入的过程中每个表所使用的子线程数目可选。在 FAST_LOAD为 Y 时有效
IGNORE忽略创建错误(N)。如果表已经存在则向表中插入数据,否则报错表已经存在。可选
TABLE_EXISTS_ACTION需要的导入表在目标库中存在时采取的操作[SKIP| APPEND | TRUNCATE | REPLACE | TRUNCATE_CASCADE]可选
FAST_LOAD是否使用 dmfldr 进行数据导入(N)可选
FLDR_ORDER使用 dmfldr 是否需要严格按顺序来导数据(Y)可选
COMMIT_ROWS批量提交的行数(5000)可选
EXCLUDE忽略指定的对象(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)。格式EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)可选。例如EXCLUDE=(CONSTRAINT)
GRANTS导入权限 (Y)可选
CONSTRAINTS导入约束 (Y)可选
INDEXES导入索引 (Y)可选
TRIGGERS导入触发器(Y)可选
ROWS导入数据行 (Y)可选
LOG日志文件可选
NOLOGFILE不使用日志文件(N)可选
NOLOG屏幕上不显示日志信息(N)可选
DUMMY交互信息处理: 打印§。取值 Y/N。Y:打印所有交互信息。N:不打印交互信息。可选
LOG_WRITE日志信息实时写入文件(N)可选
PARFILE参数文件名,如果 dimp 的参数很多,可以存成参数文件可选
FEEDBACK显示每 x 行 (0) 的进度可选
COMPILE编译过程,程序包和函数 (Y)可选
INDEXFILE将表的索引/约束信息写入指定的文件可选
INDEXFIRST导入时先建索引(N)可选
REMAP_SCHEMASOURCE_SCHEMA:TARGET_SCHEMA 将SOURCE_SCHEMA 中的数据导入到 TARGET_SCHEMA 中可选
ENCRYPT_PASSWORD数据的加密密钥可选。和 dexp 中的ENCRYPT_PASSWORD设置的密钥一样
ENCRYPT_NAME数据的加密算法的名称可选。和 dexp 中的ENCRYPT_NAME 设置的加密算法一样
SHOW/ DESCRIBE只列出文件内容 (N)可选
TASK_THREAD_NUMBER设置 dmfldr 处理用户数据的线程数目可选
BUFFER_NODE_SIZE设置 dmfldr 读入文件缓冲区大小可选
TASK_SEND_NODE_NUMBER用于设置 dmfldr 发送节点个数[16,65535]可选
LOB_NOT_FAST_LOAD如果一个表含有大字段,则不使用 dmfldr (N)可选
PRIMARY_CONFLICT主键冲突的处理方式[IGNORE |OVERWRITE | OVERWRITE2],默认报错可选
TABLE_FIRST是否强制先导入表 (缺省 N),Y 表示先导入表,N 正常导入可选
SHOW_SERVER_INFO是否显示服务器信息(缺省 N),Y 表示显示导出文件对应服务器信息,实际不导入,N 表示不显示导出文件对应服务器信息,正常导入可选
IGNORE_INIT_PARA不忽略建库参数差异(0),忽略 CASE_SENSITIVE(1),忽略 LENGTH_IN_CHAR(2),忽略 CASE_SENSITIVE和 LENGTH_IN_CHAR(3)可选
AUTO_FREE_KEY导入数据完成后, 是否释放密钥(N):是(Y), 否(N)可选
REMAP_TABLE格式(SOURCE_SCHEMA.SOURCE_TABLE:TARGET_TABLE),将 SOURCE_TABLE 中的数据导入到 TARGET_TABLE中可选
REMAP_TABLESPACE格式(SOURCE_TABLESPACE:TARGET_TABLESPACE) 将 SOURCE_TABLESPACE 表空间映射到TARGET_TABLESPACE 表空间中可选
SIMPLE_LOG导入日志是否使用简要日志(N)可选
HELP显示帮助信息可选

2、disql

2.1 功能简介

  DIsql 是 DM 数据库的一个命令行客户端工具,用来与 DM 数据库服务器进行交互。DIsql 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在应用菜单和安装目录中找到。
  DIsql 识别用户输入,将用户输入的 SQL 语句打包发送给 DM 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。为了更好地与用户交互和展示执行结果,用户也可以在 DIsql 中执行 DIsql 命令,这些命令由 DIsql 工具自身进行处理,不被发送给数据库服务器。
  SQL 语句在 DIsql 中执行完后都被保存在一个特定的内存区域中,用户可以通过上下键查找到这些保存在内存中的 SQL 语句(某些操作系统可能不支持此操作),并可以进行修改,然后再次执行。DIsql 命令执行完后不保存在内存区域中。

表 2.1 SQL 语句和 DIsql 命令的区别
SQL 语句DIsql 命令
ANSI 标准DM 内部标准
语言命令
关健字不可缩写关健字可缩写
部分语句以分号结束,部分语句以/结束分号可有可无,/完全用不到
可以更新表中的数据不能更新表中的数据

  SQL 语句的用法在《DM8_SQL 语言使用手册》中详细说明。

2.1.1 命令行启动DIsql

  为了使用 DIsql,必须首先要启动 DIsql。DIsql 工具可以广泛用于各种操作系统,
如 WINDOWS、LINUX 等。
  启动之后,当出现“SQL>”符号时,用户就可以利用 DM 提供的 SQL 语句和数据库进行交互操作了,需要注意的是,在 DIsql 中 SQL 语句应以分号“;”结束。对于执行语句块,创建触发器、存储过程、函数、包以及模式等时需要用“/”结束。
  DIsql在安装目录/bin文件下,输入 disql 和登录方式后回车。

DIsql 用法 1:disql –h|help 显示 disql 版本信息和帮助信息
DIsql 用法 2:disql [ [<option>] [<logon> |{/NOLOG}] [<start>] ]
<option>::=[-L] [-S]
<logon>::={{<username>[/<password>]} | /}[@<connect_identifier>][<option>]
[<os_auth>]
<connect_identifier> ::=<svc_name> | {<host>[:<port>]} | <unixsocket_file>
<option>::= #{ <extend_option>={,<extend_option>=<value>} } //此行外层{}
是为了封装参数之用,书写时需要保留
<os_auth>::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
<start>::=<`运行脚本>|<start 运行脚本>|<直接执行语句>|<直接执行 SET 命令>
<`运行脚本>::=`<file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]
<start 运行脚本>::=START <file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]
<直接执行语句>::= -E “<SQL 语句>{;<SQL 语句>}”
<直接执行设置 DIsql 属性命令>::= -C “<SET 命令 | COLUMN 命令>”
  文中语法符号规定:<>内的内容是必选项;[]内的内容是可选项;{}内的内容可以出现一次或多次;|为或者;::=为定义符。后文语法用法与此相同。

<password>中特殊字符的书写规范:

  1. 不同的操作系统
    1)WINDOWS 系统
      DIsql 的关键字符,DIsql 的要求对连接串的特殊字符需要使用双引号括起来"aaaa/aaaa",操作系统的要求需要再在最外加双引号和转义"““aaaa/aaaa””“。
      空格,需要使用双引号括起来作为一个整体(这是操作系统的要求)。
      双引号,DIsql 要求对双引号需要使用双引号括起来,同时双引号需要转义"aaaa”“aaaa”;操作系统要求再对双引号转义和最外层加双引号"““aaaa””““aaaa””"。
    2)LINUX 系统
      LINUX 环境下,密码中的特殊字符处理过程既要考虑操作系统的要求,又要考虑
    DIsql 的要求。
      首先,操作系统的要求。
      bash 的引号设计为:在单引号中,所有的特殊字符都失去其特殊含义;在双引号中,
    特殊字符包括:美元符($)、反引号(`)、转义符(\)、感叹号(!)。
    如果密码中没有单引号的,只有外面加单引号就可以解决了;如果密码只有单引号,那么可以将单引号用双引号括起来;如果既有单引号又有美元符($)、反引号(`)、转义符(\)、感叹号(!)四个特殊字符,那么在特殊字符之前全部加\转义就好了。
      其次,在操作系统要求的基础上,增加 DIsql 对关键字和双引号的要求。
      DIsql 的关键字符,DIsql 的要求对连接串的特殊字符需要使用双引号括起来。
      双引号,DIsql 要求对双引号需要使用双引号括起来,同时双引号需要转义。
      单引号,根据操作系统的要求,只能将单引号放入双引号中。
      单引号+操作系统下的特殊字符,根据操作系统的要求,因为单引号只能放在双引号内,同时双引号中还有一些特殊字符不能被识别需要加反斜杠转义。
      单引号+双引号,根据操作系统的要求,单引号需要放在双引号中,在双引号中表示双引号则使用反斜杠转义双引号。
  2. 如何转义双引号
    1)DIsql 的要求使用双引号对双引号内的双引号转义。
    2)WINDOWS 命令行,使用双引号或者反斜杠对双引号内的双引号转义。
    3)LINUX 命令行,使用反斜杠对双引号内的双引号转义。

2.1.2 切换登录

  用户进入 DIsql 界面后,如果想切换到其他 DM 数据库实例。有两种实现方式:一是使用LOGIN 命令;二是使用 CONN 命令。登录到远程数据库,必须在服务名处使用 IP 地址或网络服务名。
  在 DIsql 界面中,使用 LOGIN/LOGOUT 命令登录/退出远程数据库。
  CONN[ECT] /DISCONN[ECT]

  1. CONN[ECT] 连接
    在 DIsql 界面中,使用 CONN[ECT]命令登录远程数据库。
    语法如下:
    CONN[ECT] <logon>
    <logon>::={{<username>[/<password>]} | /}[@<connect_identifier>][<option>]
    [<os_auth>]
    <connect_identifier> ::=<svc_name> | {<host>[:<port>]} | <unixsocket_file>
    <option>::= #{ <exetend_option>={,<extend_option>=<value>} } //此行外层
    {}是为了封装参数之用,书写时需要保留
    <os_auth>::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
    使用 CONN[ECT]命令建立新会话时,会自动断开先前会话。
    示例如下:
SQL>CONN SYSDBA/SYSDBA@192.168.1.150
  1. DISCONN[ECT] 断开连接
    DISCONN[ECT]:断开连接而不退出 DIsql。与 logout 功能一样。
SQL>DISCONN

2.1.3 使用DIsql

  以一个简单的查询例子来说明如何使用 DIsql。只需要输入一条 SQL 语句,回车即可。DIsql 将 SQL 语句发送给 DM 数据库服务器并显示服务器返回的结果。SQL 语句如何书写请参考《DM8_SQL 语言使用手册》。

SQL>select top 5 name,id from sysobjects;

执行结果如下:

行号 NAME ID
---------- ---------- -----------
1 SYSOBJECTS 0
2 SYSINDEXES 1
3 SYSCOLUMNS 2
4 SYSUSER$ 3
5 SYSCONS 4
已用时间: 0.415(毫秒). 执行号:518.

2.1.4 退出DIsql

使用 EXIT/QUIT 命令,退出 DIsql。
语法如下:

EXIT|QUIT 

示例如下:

SQL>EXIT

2.2 DIsql常用命令

2.2.1 帮助 HELP

DIsql 帮助命令,可以帮助用户查看其他命令的具体用法。用户可以看到其他命令系统显示的内容,概括为:
命令的标题
命令的文本描述
命令的简写(例如,AUTO 可以代替AUTOCOMMIT)
可以向命令传递的强制参数和可选参数
HELP 显示指定命令的帮助信息。
语法如下:
HELP|? [topic]
topic:命令名称或者命令名称的首字母,查询某一命令用法或者某一字母开头的所有命令用法。

2.2.2 输出文件 SPOOL

将查询结果输出到指定文件。
语法如下:
SPOOL {<file> | OFF }
<file>::= <file_path> [CRE[ATE]|REP[LACE]|APP[END]][NO_PRINT]
<file_path>:指定文件的绝对路径
CRE[ATE]:创建指定的文件,若指定的文件已存在,则报错,默认方式
REP[LACE]:创建指定的文件,若指定的文件已存在,则替换它
APP[END]]:将输出内容追加到指定文件的末尾
NO_PRINT:控制台不打印查询结果
OFF:关闭 SPOOL 输出

2.2.3 切换到操作系统命令 HOST

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

2.2.4 获取对象结构信息 DESCRIBE

获取表或视图、存储过程、函数、包、记录、类的结构描述。
语法如下:
DESC[RIBE] [<模式名>.]<对象名>;
各对象获取的内容略有不同:
表或视图获取的内容包括列名、列数据类型、列是否可以取空值。
函数、过程、类获取的内容包括两类:1)存储函数/过程名,类型(函数或过程),函数返回值类型;2)参数名,参数数据类型、参数输入输出属性、参数缺省值。
包获取的内容分为两类:1)包内存储函数/过程名,类型(函数或过程),函数返回值类型;2)包内参数名,参数数据类型、参数输入输出属性、参数缺省值。
记录获取的内容为:参数名,参数数据类型,参数是否可以取空值。

2.2.5 管理本地变量 DEFINE,COLUMN 和 UNDEFINE

定义本地变量的命令有 DEFINE 和 COLUMN。
删除本地变量的命令是 UNDEFINE。

2.2.5.1 DEFINE

用来定义一个本地变量的替代变量,然后对该变量赋一个 CHAR 类型的值;或者输出变
量的值和类型。
语法如下:
DEF[INE] [<VARIABLE=text>|<VARIABLE>]
DEF[INE] VARIABLE = text:申明一个变量,如果该变量存在,则重新赋值,否则新生成一个变量,并进行赋值。
DEF[INE] VARIABLE:如果该变量存在,则输出特定 VARIABLE 的值和类型,否则报错。
DEF[INE]:输出 DIsql 中所有的变量的值和类型。
该命令定义的替代变量在当前的 DIsql 环境和/NOLOG 环境中均可以起作用。
当使用该命令定义变量时,如果变量值包含空格或区分大小写,则用引号引注。另外,使用“DEFINE 变量名”可以检查变量是否已经定义。
DEFINE 定义的变量会保存在环境 DIsql 环境中,可以在 SQL 语句中使用。默认的变量前缀是&。

2.2.5.2 COLUMN

定义一个本地列或表达式。
语法如下:
COL[UMN] [<column | expr> [<option>]]
<option> ::= NEW_VALUE variable | FOR[MAT] <format>
<format> ::= An | an
COL[UMN]:列举出所有的 COLUMN 变量信息。
COL[UMN] column | expr:列举出某个 column 或 expr,如果存在,则输出信息,否则报错。
COL[UMN] column | expr option : option 目前仅支持 NEW_VALUE 和FORMAT。
NEW_VALUE:表示该 column|expr 的值同时作为变量 variable 存在。但如果该变量未赋值,通过DEFINE 查询时,不会显示该变量。查询结果的最后一个值赋给变量variable。
FOR[MAT]:表示该 column|expr 的列打印长度。‘A’或‘a’是列打印长度的前缀,n 是列打印长度的值,n 的取值范围为 1~60000。仅当 ISQL_MODE = 1 且 COLUMN <column | expr> 为 ON 时,该参数有效。定长类型的列的打印长度不受该参数影响。

2.2.5.3 UNDEFINE

删除一个或多个本地变量。此变量可以是 DEFINE 定义生成的本地变量,也可以是COLUMN 关联的本地变量。
语法如下:
UNDEF[INE] <变量子句>
<变量子句>::=<变量名>{ <变量名>}

2.2.6 查看执行计划 EXPLAIN

用 EXPLAIN 命令来查看查询语句的执行计划。
语法如下:
EXPLAIN <sql_clause>
<sql_clause>请参考《DM8_SQL 语言使用手册》。

2.2.7 设置异常处理方式 WHENEVER

用 WHENEVER 命令可以设置异常处理方式,继续执行或退出 DIsql。
语法如下:
WHENEVER SQLERROR
CONTINUE [ COMMIT | ROLLBACK | NONE ] |
EXIT [ SUCCESS | FAILURE | WARNING | n | <variable> | : <bindvariable> ]
[ COMMIT | ROLLBACK ]
n 和<variable>的返回值受限于操作系统,在不同平台下,会有所不同,例如:UNIX 系统只用一个字节来存 code,所以返回值的范围只在 0~255 之间。

2.2.8 查看下一个结果集 MORE

当结果集过多,屏幕只能显示一个时,用户可以使用 MORE 命令切换到下一个结果集。
MORE | MR

2.2.9 显示 SQL 语句或块信息 LIST

显示最近执行的 SQL 语句或者 PL/SQL 块信息。不显示 DIsql 命令。
语法如下:
L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST] 或者;
n ,m :数值 SQL 行号。
*: 当前行号。
LAST: 最后一行。

2.2.10 插入大对象数据

当插入语句中包含大对象数据文件时,使用@。
@<插入语句>
<插入语句>,请参考《DM8_SQL 语言使用手册》,其中大数据的插入值格式为:@‘path’

2.2.11 缓存清理 CLEAR

清理指定操作本地缓存。
语法如下:
CL[EAR] <option>
<option> ::= [COL[UMNS] | SQL | SCR[EEN] | BUFF[ER]]
COL[UMNS]:清理所有的 COLUMN 变量信息。
SQL:清理本地 SQL 缓存信息。
SCR[EEN]:清理 DIsql 终端屏幕信息。
BUFF[ER]:同 SQL 功能一样,清理本地 SQL 缓存信息。

达梦数据库 | 达梦在线服务平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值