可悲的是,我不知道每个部分的确切名称,我可以解释一下: 我们有一个SQL-File,其定义如下:
declare
l_exec boolean := true;
l_print boolean := false;
---
begin
dbms_output.enable;
for t in (
等等。我们使用它在我们的Oracle数据库中创建一些触发器等。 现在这个文件增长了很多,我需要拆分它。 所以我创建了一个Main-File,看起来像这样:
SET SERVEROUTPUT on
set feedback off
DEFINE l_exec = TRUE;
DEFINE l_print = FALSE;
ACCEPT ora_instance PROMPT "Zielinstanz angeben [123|...]: " DEFAULT somedefault
CONNECT somelogins
PROMPT -- GENERATING CODE --
@file1 l_print, l_exec
这样可以正常工作,但我想将l_exec和l_print传递给每个文件。我读了一些其他的Threads传递参数,这样就可以了。但问题是:我不仅需要将其从文件传递到文件,而且我需要在开始后将其传递给Procedure-Block。
我不确定我是否理解它,但我想使用我在文件的开始块中传递给@ file1的变量。
这种情况有可能吗?我搜索了很多关于SQLPlus的内容,但到目前为止还没有找到解决方案。
一如既往地感谢,一周感人愉快
的Matthias
答案 0 :(得分:1)
好的,所以如果您的主文件有对子文件的调用:
...
CONNECT somelogins
PROMPT -- GENERATING CODE --
@file1 l_print, l_exec
然后您的子文件可以按位置方式使用参数:
declare
l_print boolean := &1;
l_exec boolean := &2;
---
begin
dbms_output.enable;
for t in (