file2.sql
set serveroutput on
exec dbms_output.put_line('invoke file2.sql');
file1.sql
exec dbms_output.put_line('&1');
@file2.sql 'col2' 'col1'
exec dbms_output.put_line('&1');
我正在执行@ file1.sql'col1'。请在下面找到输出。
@ f1.sql col1
col1
PL / SQL过程成功完成。
调用file2.sql
PL / SQL过程成功完成。
col2
PL / SQL过程成功完成。
SQL>
我希望在调用file2.sql之后打印'col2',但是它会被传递给file2.sql的值覆盖。如何克服这个问题?
答案 0 :(得分:0)
您可以将原始参数保存在新变量中:
file1.sql:
prompt Argument 1 = &1
define somevar = &1
@file2.sql col2 col1
prompt Original argument 1 = &somevar
输出:
SQL> @file1.sql col1
Argument 1 = col1
This is file2.sql
Original argument 1 = col1