如何使用一个execute命令在oracle中执行多个SQL文件



我有多个.sql文件。如何创建一个文件来执行所有sql文件?我不想使用shell脚本。

您可以创建一个;菜单"。使用@file_name调用其他脚本的SQL脚本。

例如:

a.sql

prompt Number of rows in EMP table
select count(*) from emp;

b.sql

prompt Contents of DEPT table
select * From dept;

menu.sql

prompt Calling A.SQL
@a
prompt Calling B.SQL
@b

执行:

SQL> @menu
Calling A.SQL
Number of rows in EMP table
COUNT(*)
----------
14
Calling B.SQL
Contents of DEPT table
DEPTNO DNAME                LOC
---------- -------------------- --------------------
10 ACCOUNTING           NEW YORK
20 RESEARCH             DALLAS
30 SALES                CHICAGO
40 OPERATIONS           BOSTON
SQL>

您可以将所有sql文件连接到一个文件中。

窗口示例:

copy /b *.sql all_sql.sql 

Linux/UNIX:示例

cat *.sql> all_sql.sql 

假设我有3个.sql文件。所以,一次执行它们。你可以有一个这样的单一文件:

SELECT 1
GO
SELECT 2
GO
SELECT 3
GO

你只需要调用那个文件,它就会调用你的多个文件。