在PL/SQL中使用脚本参数在脚本之间传递变量
我在ORACLE sql命令提示符下运行install.sql,并传递三个参数值ORACLE_HOME、ORACLE_SID和schema PWD在PL/SQL中使用脚本参数在脚本之间传递变量,sql,oracle,parameters,sqlplus,Sql,Oracle,Parameters,Sqlplus,我在ORACLE sql命令提示符下运行install.sql,并传递三个参数值ORACLE_HOME、ORACLE_SID和schema PWD ---- Start of install.sql --parameter 1: ${ORACLE_HOME} --parameter 2: ${ORACLE_SID} --parameter 3: ${PRDPASS} set define on prompt prompt =================================
---- Start of install.sql
--parameter 1: ${ORACLE_HOME}
--parameter 2: ${ORACLE_SID}
--parameter 3: ${PRDPASS}
set define on
prompt
prompt ======================================
prompt || Database Creation Started ||
prompt ======================================
prompt
prompt create prd_adminus objects................
connect prd_adminus/&3;
prompt Variable 1 = &1
prompt Variable 2 = &2
prompt Variable 3 = &3
@createSQLObjects.sql &1 &2 &3
prompt
prompt Loading Java Classes for prd_adminus
prompt ================================
prompt
connect prd_adminus/&3;
@loadjavaclasses.sql &1 &2 &3
prompt
prompt Completed Loading Java Classes for prd_adminus
prompt =============================================
prompt
prompt
prompt Applying patch
prompt ..............
@patch1.sql &1 &2 &3
@patch2.sql &1 &2 &3
@patch3.sql &1 &2 &3
prompt
prompt ======================================
prompt || Database Creation Completed ||
prompt ======================================
prompt
disconnect;
exit;
---- End of install.sql
在@patch2.sql&1&2&3
运行@patch3.sql
时,重置变量值,patch3.sql终止。这是由于在patch2.sql
中指定了Set Define Off
,以避免脚本中出现&
是否有其他方法保留我的值&1、&2和&3为什么标记sql server?最后是否在patch2.sql中运行
set define on
?或者,假设和是字符串的一部分,您可以将它们更改为chr(38)
,例如:从dual中选择“T”| | chr(38)| |“Cs”代码>?只需在运行patch3.sql之前添加set define on
,为什么要标记sql server?最后是否在patch2.sql中运行set define on
?或者,假设和是字符串的一部分,您可以将它们更改为chr(38)
,例如:从dual中选择“T”| | chr(38)| |“Cs”代码>?只需在运行patch3.sql之前添加set define on