文章目录
- 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交互式查询工具,直接双击即可启动。然后使用LOGIN或CONN命令登录到执行数据库。
以LOGIN为例,登录到IP地址为10.0.0.21的机器上,用户名和密码为:SYSDBA/SYSDBA,端口号为5236。其它全部回车,采用缺省输入。密码不会回显到屏幕上。
也可以全部直接回车,采用缺省输入,登录到本地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 和登录方式后回车。登录方式在下一节详细介绍。
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
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.
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