DM8-disql

news/2024/11/28 5:47:26/

文章目录

  • 1. 功能介绍
  • 2. 启动disql
    • 2.1 Windows启动
      • 2.1.1 程序菜单启动
      • 2.1.2 自带disql启动
      • 2.1.3 命令行启动
    • 2.2 Linux启动
    • 2.3 disql参数
      • 2.3.1 使用disql执行脚本
      • 2.3.2 执行SQL语句
      • 2.3.3 执行SET语句
  • 3. 密码中存在特殊符号的书写规范
    • 3.1 不同的操作系统
      • 3.1.1 Windows系统
      • 3.1.2 Linux系统
    • 3.2 切换登录
      • 3.2.1 LOGIN登录主库建立会话
      • 3.2.2 CONN[ECT]/DISCONN[ECT]
  • 4. DIsql常用命令
    • 4.1 帮助
    • 4.2 输出文件SPOOL
    • 4.3 切换到操作系统命令
    • 4.4 获取对象结构信息DESCRIBE
      • 4.4.1 获取表sysgrants的结构描述
      • 4.4.2 获取存储过程描述结构
      • 4.4.3 获取包的结构描述
      • 4.4.4 使用DEPTH显示列的结构信息
    • 4.5 DEFINE变量
      • 4.5.1 定义为表达式
      • 4.5.2 定义为字符类型
      • 4.5.3 变量定义为日期类型
    • 4.6 查看执行计划explain
  • 5. 在DIsql中使用脚本
    • 5.1 使用脚本
    • 5.2 编辑脚本EDIT

1. 功能介绍

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

2. 启动disql

2.1 Windows启动

	Windows环境下,有两种启动disql的方式。第一种是启动安装软件后生成的程序菜单,第二种是启动安装目录下自带的disql工具。

2.1.1 程序菜单启动

​ 如果在Windows环境中安装了DM数据库产品,可以在应用菜单中找到SQL交互式查询工具,直接双击即可启动。然后使用LOGINCONN命令登录到执行数据库。

​ 以LOGIN为例,登录到IP地址为10.0.0.21的机器上,用户名和密码为:SYSDBA/SYSDBA,端口号为5236。其它全部回车,采用缺省输入。密码不会回显到屏幕上。

(img-cAdhZNcb-1665451856262)(D:\typora图片\image-20220920165009771.png)]
在这里插入图片描述

​ 也可以全部直接回车,采用缺省输入,登录到本地DM数据库。缺省值参考下文LOGIN命令。

2.1.2 自带disql启动

	DIsql工具位于DM数据库安装目录的BIN子目录下,例如DM数据库的安装目录为D:\dmdbms,则 DIsql 位于 D:\dmdbms\bin\DIsql.exe。双击启动,然后输入用户名、密码,就可登录到本地 DM 数据库实例。密码不会回显到屏幕上。也可以全部直接回车,采用缺省输入,缺省值为 SYSDBA/SYSDBA。

在这里插入图片描述

在这里插入图片描述

如果后续操作想登录到其它DM数据库实例,可以使用LOGIN或CONN命令。

2.1.3 命令行启动

	从命令行启动disql并登录到数据库,在命令行工具中找到disql所在安装目录D:\dmdbms\bin,输入 DIsql 和登录方式后回车。登录方式在下一节详细介绍。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OKjHqJmD-1665451856265)(D:\typora图片\image-20220920170619475.png)]

DISQL 用法1:disql -h|help  显示disql版本信息和帮助信息DISQL 用法2:disql [ [<option>] [<logon> | {/NOLOG}] [<start>] ]<option> 为: [-L] [-S]-L 只尝试登录一次-S 隐藏模式,隐藏<SQL>标识符<logon> 为::= {<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]<connect_identifier>为[<svc_name> | host[:port] | <unixsocket_file>]HOST如果是IPv6的地址,需要用[]指明是IPv6地址,例如[fe80::1e6f:65ff:fed1:3724%6]INET_TYPE如果是UNIXSOCKET类型,<connect_identifier>需要指明是unixsocket地址,例如:/data/sdb/DAMENG/foo.sock<option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...}<os_auth> ::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}<extend_option>            <value>MPP_TYPE                    GLOBAL/LOCALINET_TYPE                   UDP/TCP/IPC/RDMA/UNIXSOCKETSSL_PATH                    <path_str>SSL_PWD                     <pwd_str>PROXY_CLIENT                <user_str>GWDSN                       <GATEWAY DSN>UKEY_NAME                   <ukey_name_str>UKEY_PIN                    <ukey_pin_str>SHAKE_CRYPTO                <shake_crypto_str>USER_NEW_PWD                <new_pwd><start> ::= <`sql脚本> | <direct cmd> | <direct sql> 运行disql脚本/NOLOG 选项能在未登录DM服务器的情况下启动disql<`sql脚本>::= `<filename>[<parameter> { <parameter>}...]"<direct sql>::= -e "<SQL语句>[;<SQL语句>]"<direct cmd>::= -c "<set 命令>"

2.2 Linux启动

格式:
./disql 用户名/密码@IP:端口端口和IP可以缺省为默认本地ip和默认端口
[dmdba@dm01 /dm8/bin]$ ./disql sysdba/SYSDBA@10.0.0.21:5236
服务器[10.0.0.21:5236]:处于普通打开状态
登录使用时间 : 2.819(ms)
disql V8
SQL> exit[dmdba@dm01 /dm8/bin]$ ./disql sysdba/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.937(ms)
disql V8
SQL> exit

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jca2NhpS-1665451856265)(D:\typora图片\image-20220922104209233.png)]

2.3 disql参数

参数作用
-E运行DIsql时直接执行后续一条或多条SQL语句,查询结果不显示行号、时间以及影响行数,且不受-C参数控制。
-C运行DISQL时直接执行后续的SET命令。

2.3.1 使用disql执行脚本

格式:(两种格式都可以)

`/dm8/data/DAMENG/b.sql

start /dm8/data/DAMENG/b.sql

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA@10.0.0.21:5236服务器[10.0.0.21:5236]:处于普通打开状态
登录使用时间 : 2.031(ms)
disql V8
SQL> `/dm8/data/DAMENG/b.sql
SQL> select * from ALL_USERS;行号     USERNAME   USER_ID     CREATED
---------- ---------- ----------- --------------------------
1          SYSDBA     50331649    2022-09-07 11:26:29.596178
2          SYS        50331648    2022-09-07 11:26:29.596178
3          SYSAUDITOR 50331650    2022-09-07 11:26:29.596178
4          SYSSSO     50331651    2022-09-07 11:26:29.596178
5          LLL        50331748    2022-09-15 13:57:02.467525
6          SYSTOM     50331749    2022-09-16 16:41:55.7511906 rows got已用时间: 1.301(毫秒). 执行号:1200.
SQL> start /dm8/data/DAMENG/b.sql
SQL> select * from ALL_USERS;行号     USERNAME   USER_ID     CREATED
---------- ---------- ----------- --------------------------
1          SYSDBA     50331649    2022-09-07 11:26:29.596178
2          SYS        50331648    2022-09-07 11:26:29.596178
3          SYSAUDITOR 50331650    2022-09-07 11:26:29.596178
4          SYSSSO     50331651    2022-09-07 11:26:29.596178
5          LLL        50331748    2022-09-15 13:57:02.467525
6          SYSTOM     50331749    2022-09-16 16:41:55.7511906 rows got已用时间: 0.689(毫秒). 执行号:1201.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0oVPisOr-1665451856265)(D:\typora图片\image-20220922134352509.png)]

2.3.2 执行SQL语句

DISQL后面执行一条SQL语句

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA@10.0.0.21:5236 -E "SELECT TOP 1 * FROM LLL.TABLE_1;"服务器[10.0.0.21:5236]:处于普通打开状态
登录使用时间 : 2.541(ms)
disql V8ID NAME   性别 民族                                             政治面貌 学校       爱好 备注 学号
-- ------ ------ -------------------------------------------------- ------------ ------------ ------ ------ ----------
1  张三 男    汉族                                             群众       北京大学 唱    NULL   110

DISQL后面执行多条SQL语句

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA@10.0.0.21:5236 -E "SELECT TOP 1 * FROM LLL.TABLE_1; SELECT TOP 1 * FROM ALL_USERS;"服务器[10.0.0.21:5236]:处于普通打开状态
登录使用时间 : 2.259(ms)
disql V8ID NAME   性别 民族                                             政治面貌 学校       爱好 备注 学号
-- ------ ------ -------------------------------------------------- ------------ ------------ ------ ------ ----------
1  张三 男    汉族                                             群众       北京大学 唱    NULL   110USERNAME USER_ID     CREATED
-------- ----------- --------------------------
SYSDBA   50331649    2022-09-07 11:26:29.596178

2.3.3 执行SET语句

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA@10.0.0.21:5236 -C "SET LONG 1000 PAGESIZE 0"

3. 密码中存在特殊符号的书写规范

3.1 不同的操作系统

3.1.1 Windows系统

密码包含转义字符。

例如:用户名为user01,密码为aaaa/aaaa
disql user01/"""aaaa/aaaa"""

密码包含空格。

例如:用户名为uesr01,密码为aaaa aaaa
disql user01/"aaaa aaaa"

密码包含双引号。

例如:用户名为user01,密码为aaaa"aaaa
disql user01/"""aaaa""""aaa"""

3.1.2 Linux系统

密码包含/转移字符

例如:用户名为user01,密码为aaaa/aaaa
./disql user01/'"aaaa/aaaa"'

密码包含双引号

例如:用户名为user01,密码为aaaa"\aaaa
./disql user01/'"aaaa""\aaaa"'

密码包含单引号

例如:用户名为user01,密码为aaaa'aaaa
./disql user01/"aaaa'aaaa"

密码包含单引号+特殊字符

例如:用户名为user01,密码为aaa'$aaaa
./disql user01/"aaa'\$aaaa"

密码包含单引号+双引号

因为含有单双引号,只能将整个密码放入双引号中,同时对双引号使用反斜杠转义。

例如:用户名为user01,密码为aaa"'aaaa
./disql user01/"\"aaa\"\"'aaaa\""

3.2 切换登录

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

3.2.1 LOGIN登录主库建立会话

在这里插入图片描述

LOGOUT命令从登录主库注销会话。

3.2.2 CONN[ECT]/DISCONN[ECT]

在这里插入图片描述

DISCONN[ECT]断开连接

4. DIsql常用命令

4.1 帮助

​ DIsql帮助命令,可以帮助用户查看其它命令的具体用法。用户可以看到其它命令系统显示的内容,概括为:

  • 命令的标题
  • 命令的文本描述
  • 命令的简写(例如,AUTO可以代替AUTOCOMMIT)
  • 可以向命令传递的强制参数和可选参数
SQL> HELP DEFINEDEFINE------设置变量值,或者显示已定义的变量信息。DEF[INE] [variable] | [variable = text]

4.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输出。

⚠️只有SPOOL OFF之后,才能在输出文件中看到输出的内容。

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.041(ms)
disql V8
SQL> spool /dm8/data/DAMENG/a.sql
SQL> select 1;行号     1
---------- -----------
1          1已用时间: 1.573(毫秒). 执行号:2200.
SQL> exit
[dmdba@dm01 /dm8/bin]$ cat /dm8/data/DAMENG/a.sql
SQL> select 1;行号     1
---------- -----------
1          1已用时间: 1.573(毫秒). 执行号:2200.
SQL> exit

在这里插入图片描述

指定NO_PRINT 控制台不打印查询结果,之江查询结果输出到指定文件。

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.304(ms)
disql V8
SQL>
SQL> spool /dm8/data/DAMENG/a.sql no_print
SQL> select 2;
SQL> spool off
SQL> exit
[dmdba@dm01 /dm8/bin]$ cat /dm8/data/DAMENG/a.sql
SQL> select 2;行号     2
---------- -----------
1          2已用时间: 0.471(毫秒). 执行号:2400.
SQL> spool off

在这里插入图片描述

4.3 切换到操作系统命令

​ 使用HOST命令可以不用退出disql就能执行操作系统命令,如果单独执行HOST,则能够直接从disql界面切换到操作系统,之后可使用EXIT回到disql界面。

[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.399(ms)
disql V8
SQL> host hostname -I
10.0.0.21 172.16.1.21SQL> host whoami
dmdbaSQL> host
[dmdba@dm01 bin]$ hostname -I
10.0.0.21 172.16.1.21
[dmdba@dm01 bin]$ whoami
dmdba
[dmdba@dm01 bin]$ exit
exit
SQL>

在这里插入图片描述

4.4 获取对象结构信息DESCRIBE

获取表或视图、存储过程、函数、包、记录、类的结构描述。

  • 表或视图获取的内容包括列名、列数据类型、列是否可以去空值。
  • 函数、过程、类霍去病的内容包括两类:
    • 1)存储函数/过程名,类型(函数或过程),喊出返回值类型;
    • 2)参数名,参数数据类型、参数输入输出属性、参数缺省值。
  • 包获取的内容分为两类:
    • 1)包内存存函数/过程名,类型(函数或过程),函数返回值类型;
    • 2)包内参数名,参数数据类型、参数输入输出属性、参数缺省值。
  • 记录获取的内容为:参数名,参数数据类型,参数是否可以去空值。

4.4.1 获取表sysgrants的结构描述

SQL> desc sysgrants;行号     NAME      TYPE$   NULLABLE
---------- --------- ------- --------
1          URID      INTEGER N
2          OBJID     INTEGER N
3          COLID     INTEGER N
4          PRIVID    INTEGER N
5          GRANTOR   INTEGER N
6          GRANTABLE CHAR(1) N6 rows got已用时间: 14.240(毫秒). 执行号:502.

4.4.2 获取存储过程描述结构

1. 创建一个存储过程
CREATE OR REPLACE PROCEDURE PROC_1(A IN OUT INT) AS
B INT;
BEGIN
A:=A+B;
EXCEPTIONWHEN OTHERS THEN NULL;
END;2. 获取存储过程PROC_1的结构描述
SQL> describe PROC_1;行号     NAME   TYPE$   IO    DEF RT_TYPE
---------- ------ ------- ----- --- -------
1          PROC_1 PROC
2            A    INTEGER INOUT已用时间: 24.151(毫秒). 执行号:800.

4.4.3 获取包的结构描述

1.创建实例数据库:
CREATE TABLE Person(Id INT IDENTITY, Name VARCHAR(100), City VARCHAR(100));
INSERT INTO Person(Name, City) VALUES('Tom','武汉');
INSERT INTO Person(Name, City) VALUES('Jack','北京');
INSERT INTO Person(Name, City) VALUES('Mary','上海');2.创建包
CREATE OR REPLACE PACKAGE PersonPackage ASE_NoPerson EXCEPTION; PersonCount INT; 
Pcur CURSOR;PROCEDURE AddPerson(Pname VARCHAR(100), Pcity varchar(100)); PROCEDURE RemovePerson(Pname VARCHAR(100), Pcity varchar(100)); 
PROCEDURE RemovePerson(Pid INT); FUNCTION GetPersonCount RETURN INT; PROCEDURE PersonList; 
END PersonPackage;3.创建包主体
CREATE OR REPLACE PACKAGE BODY PersonPackage ASPROCEDURE AddPerson(Pname VARCHAR(100), Pcity varchar(100) )ASBEGININSERT INTO Person(Name, City) VALUES(Pname, Pcity); PersonCount = PersonCount + SQL%ROWCOUNT; END AddPerson; PROCEDURE RemovePerson(Pname VARCHAR(100), Pcity varchar(100)) ASBEGINDELETE FROM Person WHERE NAME LIKE Pname AND City like Pcity; PersonCount = PersonCount - SQL%ROWCOUNT; END RemovePerson; PROCEDURE RemovePerson(Pid INT) ASBEGINDELETE FROM Person WHERE Id = Pid; PersonCount = PersonCount - SQL%ROWCOUNT; END RemovePerson; FUNCTION GetPersonCount RETURN INT AS
BEGINRETURN PersonCount; 
END GetPersonCount; PROCEDURE PersonList AS
DECLARE
V_id INT; 
V_name VARCHAR(100); 
V_city VARCHAR(100); 
BEGIN
IF PersonCount = 0 THENRAISE E_NoPerson; 
END IF; OPEN Pcur FOR SELECT Id, Name, City FROM Person; 
LOOPFETCH Pcur INTO V_id,V_name,V_city; EXIT WHEN Pcur%NOTFOUND; PRINT ('No.' + (cast (V_id as varchar(100))) + ' ' + V_name + '来自' + 
V_city ); END LOOP; CLOSE Pcur; END PersonList; 
BEGINSELECT COUNT(*) INTO PersonCount FROM Person; 
END PersonPackage;4.获取包personpackage的结构描述
SQL> describe PersonPackage;行号     NAME           TYPE$        IO DEF RT_TYPE
---------- -------------- ------------ -- --- -------
1          ADDPERSON      PROC
2            PNAME        VARCHAR(100) IN
3            PCITY        VARCHAR(100) IN
4          REMOVEPERSON   PROC
5            PNAME        VARCHAR(100) IN
6            PCITY        VARCHAR(100) IN
7          REMOVEPERSON   PROC
8            PID          INTEGER      IN
9          GETPERSONCOUNT FUNC                INTEGER
10         PERSONLIST     PROC10 rows got已用时间: 10.673(毫秒). 执行号:801.

4.4.4 使用DEPTH显示列的结构信息

CREATE TYPE ADDRESS AS OBJECT
( STREET VARCHAR2(20),CITY VARCHAR2(20));
/
CREATE TYPE ADDRESS1 AS OBJECT
( NO INT,SADDR ADDRESS);
/2.创建表EMPINFO
CREATE TABLE EMPINFO(LAST_NAME VARCHAR2(30),EMPADDR ADDRESS,SMADDR ADDRESS1,JOB_ID VARCHAR2(20),SALARY NUMBER(7,2));3.设置DESCRIBE的显示方式
SQL> SET DESCRIBE DEPTH 1 LINENUM ON INDENT ON;4.获取EMPINFO的结构描述
SQL> DESC EMPINFO;行号     ID PID NAME      TYPE$       NULLABLE
---------- -- --- --------- ----------- --------
1          1      LAST_NAME VARCHAR(30) Y
2          2      EMPADDR   ADDRESS     Y
3          3  2     STREET  VARCHAR(20)
4          4  2     CITY    VARCHAR(20)
5          5      SMADDR    ADDRESS1    Y
6          6  5     NO      INTEGER
7          7  5     SADDR   ADDRESS
8          8      JOB_ID    VARCHAR(20) Y
9          9      SALARY    DEC(7, 2)   Y9 rows got已用时间: 12.574(毫秒). 执行号:802.

​ 设置DEPTH为1时,表EMPINFO的结构信息只显示至第一层。LINENUM为0时,显示行号ID、PID信息;反之,行号ID、PID信息不显示;INDENT为0时,NAME的显示方式发生了缩进;反之,不发生缩进。

1.重新设置DESCRIBE的显示方式,并获取表EMPINFO的结构描述如下:
SQL> SET DESCRIBE DEPTH 2 LINENUM ON INDENT ON;
SQL> DESC EMPINFO;行号     ID PID NAME       TYPE$       NULLABLE
---------- -- --- ---------- ----------- --------
1          1      LAST_NAME  VARCHAR(30) Y
2          2      EMPADDR    ADDRESS     Y
3          3  2     STREET   VARCHAR(20)
4          4  2     CITY     VARCHAR(20)
5          5      SMADDR     ADDRESS1    Y
6          6  5     NO       INTEGER
7          7  5     SADDR    ADDRESS
8          8  7       STREET VARCHAR(20)
9          9  7       CITY   VARCHAR(20)
10         10     JOB_ID     VARCHAR(20) Y
11         11     SALARY     DEC(7, 2)   Y11 rows got已用时间: 6.100(毫秒). 执行号:803.

在这里插入图片描述

4.5 DEFINE变量

​ 用来定义一个本地变量的替代变量,然后对该变量赋一个CHAR类型的值;或者输出变量的值和类型。

1.打开DEFINE变量定义
SQL> SET DEFINE ON;2.定义变量C1为1
SQL> DEFINE C1=1;3.查看
SQL> SELECT &C1 FROM DUAL;
原值 1:SELECT &C1 FROM DUAL;
新值 1:SELECT 1 FROM DUAL;行号     1
---------- -----------
1          1已用时间: 0.910(毫秒). 执行号:807.4.在存储函数中使用
SQL> CREATE OR REPLACE FUNCTION F1(C1 INT)RETURN INT IS
BEGIN
C1=&C1;
RETURN(C1);
END;6.查看
SQL> SELECT F1(0);行号     F1(0)
---------- -----------
1          1已用时间: 0.857(毫秒). 执行号:810.

4.5.1 定义为表达式

1.定义变量 C2 为表达式,定义为表达式时必须加括号
SQL> DEFINE C2=(2+3*4);2.查看
SQL> SELECT &C2*4 FROM DUAL;
原值 1:SELECT &C2*4 FROM DUAL;
新值 1:SELECT (2+3*4)*4 FROM DUAL;行号     (2+3*4)*4
---------- -----------
1          56已用时间: 0.473(毫秒). 执行号:811.

4.5.2 定义为字符类型

1.打开 DEFINE 变量定义
SQL> SET DEFINE ON;2.定义变量 C3 为'OG'--一种使用 DEFINE 字符串变量的方式
SQL> DEFINE C3="'OG'";3.查看
SQL> SELECT &C3 FROM DUAL;
原值 1:SELECT &C3 FROM DUAL;
新值 1:SELECT 'OG' FROM DUAL;行号     'OG'
---------- ----
1          OG已用时间: 1.983(毫秒). 执行号:812.4.引用变量为函数参数
SQL> SELECT LCASE(&C3) FROM DUAL;
原值 1:SELECT LCASE(&C3) FROM DUAL;
新值 1:SELECT LCASE('OG') FROM DUAL;行号     LCASE('OG')
---------- -----------
1          og已用时间: 1.182(毫秒). 执行号:813.

4.5.3 变量定义为日期类型

1.打开 DEFINE 变量定义
SQL>SET DEFINE ON;SQL> DEFINE C5="DATE'2015-10-01'";2.引用变量增加一天
SQL> SELECT &C5+1 FROM DUAL;
原值 1:SELECT &C5+1 FROM DUAL;
新值 1:SELECT DATE'2015-10-01'+1 FROM DUAL;行号     DATE'2015-10-01'+1
---------- ------------------
1          2015-10-02已用时间: 1.600(毫秒). 执行号:814.3.引用变量值与日期类型作运算
SQL> SELECT &C5+INTERVAL '01-02' YEAR TO MONTH FROM DUAL;
原值 1:SELECT &C5+INTERVAL '01-02' YEAR TO MONTH FROM DUAL;
新值 1:SELECT DATE'2015-10-01'+INTERVAL '01-02' YEAR TO MONTH FROM DUAL;行号     DATE'2015-10-01'+INTERVAL+'01-02'YEARTOMONTH
---------- --------------------------------------------
1          2016-12-01已用时间: 11.638(毫秒). 执行号:815.

4.6 查看执行计划explain

语法:

​ explain <sql_clause>

SQL> explain select count(*) from sysobjects;1   #NSET2: [1, 1, 0]
2     #PRJT2: [1, 1, 0]; exp_num(1), is_atom(FALSE)
3       #FAGR2: [1, 1, 0]; sfun_num(1),已用时间: 13.118(毫秒). 执行号:0.

5. 在DIsql中使用脚本

5.1 使用脚本

1.脚本
[dmdba@dm01 /dm8/bin]$ cat /dm8/test.sql
drop table t01;
create table t01(c1 varchar(100), c2 varchar(100));2.进入disql之后,运行脚本
[dmdba@dm01 /dm8/bin]$ ./disql SYSDBA/SYSDBA服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.916(ms)
disql V8
SQL> start /dm8/test.sql
SQL> drop table t01;
操作已执行
已用时间: 10.720(毫秒). 执行号:1200.
SQL> create table t01(c1 varchar(100), c2 varchar(100));
操作已执行
已用时间: 2.523(毫秒). 执行号:1201.

在这里插入图片描述

5.2 编辑脚本EDIT

SQL> edit /dm8/test.sql

详情请参考:https://eco.dameng.com


http://www.ppmy.cn/news/155728.html

相关文章

DMA 讲解

DMA 全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址止空问复制到6个地经间当CPU书始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。 DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备…

车载通信——J1939故障码

一、诊断 UDS是统一诊断系统 冻结帧&#xff1a;出现故障码时&#xff0c;ECU存储故障码出现时的数据&#xff0c;就是冻结帧。 二、J1939故障诊断 SAE J1939应用层定义了12种诊断报文&#xff08;Diagnostic Message,DM&#xff09;、诊断故障码&#xff08;DTC&#xff0…

DM7达梦-1

DM7 第一章 DM7 sql语句使用 文章目录 DM7前言一、建模式二、建表三、增增加外键增加列 四、改五、删删除列 六、查查看TEACHER下所有数据查看模式下所有表名查询所有用户下所有表一些常用简单查询 总结 前言 国产数据库更安全。本章语法类似MySQL语法会的不用看。 一、建模式…

DM8安装及介绍

一、达梦数据库解释 数据库 达梦数据库管理系统( 以下简称 DM &#xff09;是基于客户/服务器方式的数据库管理系统&#xff0c;当同时出现 DM 数据库和实例时&#xff0c;DM 数据库指的是DM 数据库中的所有数据存放在磁盘上的文件的集合&#xff0c;一般包括&#xff1a;数据…

DMA介绍

文章目录 一 DMA简介二 DMA有什么用三 数据从什么地方送到什么地方?四 DMA可以传递多少数据&#xff1f;五 外设的DMA请求映像 一 DMA简介 DMA全称Direct Memory Access, 直译为“直接存储器访问”。 DMA的作用是帮助CPU在内存之间搬运数据&#xff0c;搬运的过程中无需CPU的…

达梦数据库DM8

达梦数据库 DM8&#xff08;达梦8&#xff09;是一款由武汉达梦数据库有限公司基于C/C语言开发的国产关系型数据库&#xff0c;有支持X86和ARM平台的版本,可以部署到开源系统CentOS6.X及国产系统KyLin-V4上&#xff1b;作为国产关系型数据库&#xff0c;其DM8与Oracle数据库的…

DMA/DMA2D概念

目录 DMA DMA-系统框图 DMA分类 传输方向 传输行为 模块设计 学习过程中的疑问 DMA2D DMA2D框图 DMA2D应用方式 (1条消息) 【STM32】 DMA原理&#xff0c;步骤超细详解&#xff0c;一文看懂DMA_Z小旋的博客-CSDN博客_dma stm32 对DMA请求如何产生的理解_pangyinglong的博客-CSD…

DMHS(DM8-DM8)搭建

一、准备工作 1.DM8数据库安装 在配置DMHS同步之前&#xff0c;需要安装完成相应的DM8数据库。 2.DMHS安装 根据DM8数据库的类型以及操作系统环境&#xff0c;安装对应的DMHS版本软件。 二、配置部署 1.开启归档和逻辑日志 &#xff08;1&#xff09;设置归档标记和逻辑…