Plsql 如何通过PL/sql执行sql文件(执行时知道sql文件的名称)

Plsql 如何通过PL/sql执行sql文件(执行时知道sql文件的名称),plsql,sqlplus,Plsql,Sqlplus,我需要编写一个执行SQL文件的PL/SQL块。问题是sql文件的名称是在执行时确定的 这是我在这里尝试做的一个片段: begin @'OracleV5\'||DBMS_DB_VERSION.VERSION||'g\script.sql'; end; / PL/SQL似乎不接受这种代码:-( 有任何帮助吗?请尝试立即执行。可能是helpgulPLSQL块在数据库中执行。问题是如何访问SQL文件并执行其内容。 文件需要位于数据库可以访问的位置。然后,您可以创建一个目录对象来访问该位置,并

我需要编写一个执行SQL文件的PL/SQL块。问题是sql文件的名称是在执行时确定的

这是我在这里尝试做的一个片段:

begin
  @'OracleV5\'||DBMS_DB_VERSION.VERSION||'g\script.sql';   
end;
/
PL/SQL似乎不接受这种代码:-(


有任何帮助吗?

请尝试立即执行。可能是helpgul

PLSQL块在数据库中执行。问题是如何访问SQL文件并执行其内容。 文件需要位于数据库可以访问的位置。然后,您可以创建一个目录对象来访问该位置,并使用utl_文件或使用Bfile将文件作为Blob打开来读取文件内容


(很抱歉给出了非常抽象的答案,但这就是我现在仅有的时间)

关于sql文件的位置,我没有问题。事实上PL/sql块不在数据库端,而是在与第一个sql文件位于同一目录下的另一个sql文件中。@SamiBOB:PL/sql始终在服务器上执行,而不是在客户端执行。您永远不能从数据库访问客户端计算机上的文件。要实现您的目标诱人的是,最好使用SQL*Plus脚本。
@
是sqlplus符号,而不是pl/SQL符号。