很多使用DM7的朋友,大部分人已经习惯了DM7图形化管理工具。但有些环境无法调出DM7图形化管理工具这个“神器”,只能使用DISQL来运行一些外部脚本。

 

然而有些朋友还想保留DISQL在使用过程中,脚本的操作过程。接下来通过一个小小的演示,来了解DISQL你还没有发掘的秘密。

 

本实验以中标麒麟6 64位为例,已安装达梦数据库DM7,数据库已经打开。

 

第一步:创建一个脚本,为test.sql

test.sql文件内容如下:

drop table t01;

create table t01 (c1 varchar(10),c2 

varchar(10));

begin

 for i in 1..10 loop

 insert into t01 values ('a'||i,'b'||i);

  end loop;

end;

/

commit;

exit;

 

第二步:linux系统提示符下运行:

disql  SYSDBA/[email protected]:5236 \`/home/

dmdba/test.sql > /home/dmdba/test.log  

注意:“\”转义符的使用

 

第三步:disq连接到数据库,验证表是否创建,数据是否录入到数据库中。

SQL> select * from t01;

行号     C1  C2 

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

1          a1  b1

2          a2  b2

3          a3  b3

4          a4  b4

5          a5  b5

6          a6  b6

7          a7  b7

8          a8  b8

9          a9  b9

10         a10 b10

10 rows got

已用时间: 0.297(毫秒). 执行号:38.

 

第四步:过程是否被保留下来。

cat test.log

服务器[192.168.10.61:5236]:处于普通打开状态

登录使用时间: 26.061(毫秒)

^[]0;192.168.10.61 : 5236 / sysdba ^Gdisql V7.1.5.42-Build(2015.12.30-64335trunc)

Connected to: DM 7.1.5.42

SQL> drop table t01;

操作已执行

已用时间: 4.188(毫秒). 执行号:47.

SQL> create table t01 (c1 varchar(10),c2 

varchar(10));

操作已执行

已用时间: 45.272(毫秒). 执行号:48.

SQL> begin

for i in 1..10 loop

insert into t01 values ('a'||i,'b'||i);

end loop;

end;

PL/SQL 过程已成功完成

已用时间: 1.855(毫秒). 执行号:49.

SQL> commit;

操作已执行

已用时间: 0.817(毫秒). 执行号:50.

SQL> exit;