Oracle下命令行批量执行sql文件

时间:2022-10-30 14:52:43

Oracle下命令行批量执行sql文件

有些场景下需要执行一批sql文件,sql文件非常大的时候,PL/SQL Developer无法直接执行,需要在sqlplus命令行下执行,而手工一个一个执行会很麻烦。我们可以把这些sql文件构造成一个sql文件,然后通过sqlplus命令行执行。sqlplus命令行可以通过“@sql文件全路径名”执行sql文件。

第一步:创建总的sql文件

创建一个sql文件,然后在sql文件中以“@sql文件全路径名”的方式列出所有要执行的sql文件(使用两个@@可以写成相对路径名,所谓相对路径指的是相对于总sql文件)。

例如:创建all.sql文件,在all.sql文件中列出要执行的sql文件名。

spool log.txt

@d:\sql\1.sql

@d:\sql\2.sql

@d:\sql\3.sql

……

spool off

第二步:登录sqlplus命令行,执行sql文件

登录sqlplus后,连接数据库,使用“@sql文件全路径名”执行sql文件。

Oracle下命令行批量执行sql文件

无需关注图中的乱码,这是因为字符集的问题。


以上内容也可以通过编写一个批处理程序来执行。