Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数从另一个SQL文件中传递到SQL文件_Sql_Oracle_Arguments_Sqlplus - Fatal编程技术网

将参数从另一个SQL文件中传递到SQL文件

将参数从另一个SQL文件中传递到SQL文件,sql,oracle,arguments,sqlplus,Sql,Oracle,Arguments,Sqlplus,我想肯定会有这么一个问题,但我一直没能找到 我有两个SQL文件,myFile1.SQL和myFile2.SQLmyFile1.sql调用myFile2.sql如下: -- In myFile1.sql: @scripts/myFile2 这可以正常工作,但现在我想向该文件传递一个参数。我已尝试执行以下操作,但未成功(导致文件未找到异常): 有人知道这样做的语法吗?我猜您的问题是脚本/myFile2.sql是它所在脚本的相对路径。如果是这样的话,那么它将遵循启动SQL*Plus的目录(当前工作目

我想肯定会有这么一个问题,但我一直没能找到

我有两个SQL文件,
myFile1.SQL
myFile2.SQL
myFile1.sql
调用
myFile2.sql
如下:

-- In myFile1.sql:
@scripts/myFile2
这可以正常工作,但现在我想向该文件传递一个参数。我已尝试执行以下操作,但未成功(导致文件未找到异常):


有人知道这样做的语法吗?

我猜您的问题是
脚本/myFile2.sql
是它所在脚本的相对路径。如果是这样的话,那么它将遵循启动SQL*Plus的目录(当前工作目录)的路径。如果这是问题所在,那么问题不在于参数,而在于SQL*Plus找不到该文件。在这种情况下,您应该使用
@
,它调用与其所在文件相关的路径



该参数应该按照您建议的那样工作()。调用文件时提供的参数放在替换变量(而不是绑定变量)中,可以使用后跟参数号的符号进行引用。在您的示例中,
'ImAnArgument'
将是
&1

经过多次尝试后,我无法传入参数(我仍然不明白为什么不能)。但以下是我为获得同样的效果所做的:

-- In myFile1.sql:
DEFINE my_arg = 'ImAnArgument';
@scripts/myFile2
然后


你试过没有参数的吗?如果是,它是否按预期运行?它运行时没有问题。我一直在将一个参数设置为
&1
或不设置,以查看发生了什么。
-- In myFile1.sql:
DEFINE my_arg = 'ImAnArgument';
@scripts/myFile2
-- In myFile2.sql 
-- Do stuff using the variable my_arg, such as
SELECT my_arg FROM my_table;