如何在oracle中解析已定义的变量?
我是Oracle db的新手,正在编写脚本。所以我试着和一个亲戚一起运行很多脚本 var path和我有子文件夹如何在oracle中解析已定义的变量?,oracle,append,Oracle,Append,我是Oracle db的新手,正在编写脚本。所以我试着和一个亲戚一起运行很多脚本 var path和我有子文件夹 Folder A: Folder A.Child-1 Folder A.Child-2 RunAll.sql Folder A.Child-1: Script 1 Script 2 我知道我们可以定义路径变量,如: define path='C:\Folder A.Child-1'; @&pathScr\RunAll.sql; 如果我为例如:scri
Folder A:
Folder A.Child-1
Folder A.Child-2
RunAll.sql
Folder A.Child-1:
Script 1
Script 2
我知道我们可以定义路径变量,如:
define path='C:\Folder A.Child-1';
@&pathScr\RunAll.sql;
如果我为例如:script1放置一个完整的路径,那么脚本可以是exec。但是有没有什么方法可以做到:
define Scriptpath= Concat(&path, 'Folder A.Child-1')
@&Scriptpath\Script 1.sql;
所以我只需要声明一次路径
我的尝试:
define Scriptpath= concat(&path, 'Folder A.Child-1')
@&Scriptpath\Script 1.sql;
define Scriptpath= &path || 'Folder A.Child-1'
@&Scriptpath\Script 1.sql;
Declare Scriptpath:= = &path || 'Folder A.Child-1';
Begin
End;
@&Scriptpath\Script 1.sql;
所有这些试飞返回的错误
Can not open file concat(&path, 'Folder A.Child-1')
您不需要
concat
,只需使用与shell脚本中简单变量替换相同的方法即可:
SQL>def path1='mypath'
SQL>def path2='&path1/xyz.SQL'
SQL>提示符和路径1
我的路径
SQL>提示符和路径2
mypath/xyz.sql