用户不必在每次使用数据库的时候都编写常用的 SQL 语句和 PL/SQL 程序块,而是可以将它们保存到称为脚本的文件中。这些脚本专门为反复执行的各种任务而设计。

这里主要介绍如何编写脚本、运行脚本。

1 编写脚本

使用一种文本编辑器来编写 SQL 脚本,比如 notepad 文本等。

一个简单的脚本例子,在文本中编写脚本并保存为 D:\test.sql,内容如下:

drop table t01;

create table t01(c1 varchar(100), c2 varchar(100));

begin

for i in 1..10 loop

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

end loop;

end;

/

2 使用 START 命令运行脚本

运行脚本必须使用<start>命令。<start>命令中与脚本有关的是<`运行脚本>和<start 运行脚本>。<直接执行语句>在 DIsql 登录时候使用,与脚本无关,此处不做介绍。

语法如下:

<start>::=<`运行脚本>|<start 运行脚本>|<直接执行语句>

<`运行脚本>::=`<file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]

<start 运行脚本>::=START <file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]

<直接执行语句>::= -E “<SQL 语句>{;<SQL 语句>}”

<file_path>:脚本的绝对路径。

<PARAMETER_VALUE>:传递进入脚本的参数值。

脚本可以在启动 DIsql 时就运行,或者在进入 DIsql 之后再运行。如果在启动时运行,只能使用<`运行脚本>;如果在进入 DIsql 之后,使用<`运行脚本>或者<start 运行脚本>来运行脚本都可以。

<`运行脚本>中的符号`位于键盘第二排左起第一个。

如果在 LINUX 环境下使用<`运行脚本>,则符号`需要加\或'进行转义。

例如:./disql SYSDBA/SYSDBA\`/dev/test.sql

1.启动 DIsql 时,运行脚本。

DIsql SYSDBA/SYSDBA `D:\test.sql

执行结果如下:

SQLiteStudio写脚本 sql怎么编写脚本文件_sql

 

启动 DIsql 时运行脚本结果

2. 进入 DIsql 之后,运行脚本。

SQL>start D:\test.sql 或 SQL>`D:\test.sql

执行结果如下:

SQLiteStudio写脚本 sql怎么编写脚本文件_SQLiteStudio写脚本_02

 

进入 DIsql 后运行脚本结果

DISQL 在运行完脚本后会自动执行一个提交动作

3 使用 EDIT 命令编辑脚本

DIsql 中使用 EDIT 命令来编辑指定的脚本文件。

语法如下:

ED[IT][<file_name>]

<file_name>:指定待编辑的脚本文件。

如果指定文件不存在,则创建该文件。

如果省略文件<file_name>,则只会修改缓冲区中的最后一条 SQL 语句。DIsql 自动打开系统缺省的文本编辑器(WINDOWS 下使用 notepad),复制缓冲区中最后一条SQL 语句到文本中,这时用户可以对其中的内容进行编辑。修改完成之前,DIsql 一直处于等待状态。修改完毕,保存文件后,被修改的内容就会被写入缓存区。这对于修改错误命令很方便。当操作系统为 LINUX 或 UNIX 时,使用 vi 进行编辑。示例如下:

SQL>EDIT D:\test.sql 或 SQL>edit