我已经在 my.sh
文件中的 my.sh
文件中设置了变量(例如 ENV=$1 RELEASE_ID=$2
)。我将 sqlplus
放入我的 sql 文件中,如
sqlplus -S $username/password@destination @/path/copysetup/insert.sql
我想将变量 ENV=$1
RELEASE_ID=$2
从 unix 提示符调用传递到我的 sql 文件中作为
copysetup.sh env01 release 1.0
我想从我的 sql 文件中将相同的变量传递到 oracle 表中
insert into table...
有人可以协助如何将变量从 bash shell 脚本传递到 sql 文件并最终将其插入到我的 oracle 表中吗?
最佳答案
命令行传递参数:
sqlplus -S $username/password@destination @/path/copysetup/insert.sql $ENV $RELEASE_ID
然后在 SQL 脚本中它们变为 &1 和 &2(确保您在 SQL 脚本的顶部设置了 set scan on
)
例如
set scan on
insert into foo (env, release) values ('&1', '&2');
commit;
关于bash - 将变量从 bash shell 传递到 sql 文件到 oracle 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131955/