0

次のようなステートメントを含む sqlscript があります。

prompt Enter 'html' for an HTML report, or 'text' for plain text
prompt  Defaults to 'html'

column report_type new_value report_type;
set heading off;
select 'Type Specified: ',lower(nvl('&&report_type','html')) report_type from dual;

そのため、スクリプトを実行すると、値を入力するように求められます。このスクリプトを自動化したい。プロンプトに使用されるスクリプト パラメータに渡すにはどうすればよいですか? プロンプトを削除しても、スクリプトをまったく変更できません。

Windows Server 2008 と Windows 7 を使用しています。

4

2 に答える 2

1

Unix では、こちらのドキュメントを使用できます。

#>sqlplus un @script <<EOF
yourpassword
parameter#1
parameter#2
EOF
于 2012-04-23T14:47:17.567 に答える
0

コマンドラインまたはバッチファイルなどから値を渡すと仮定すると、を使用してパラメーターを渡すことができます&1, &2, .. &n。ここで、番号は呼び出し時のパラメーターの位置です

column report_type new_value report_type
set heading off

select 'Type Specified: ',lower(nvl('&1','html')) report_type from dual;

これは、

[call sqlplus schema/pw@db @] my_script.sql html 

ちなみに、SQL*Plus コマンドの後にセミコロンは必要ありません。

于 2012-04-23T19:23:10.923 に答える