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

假设您从命令行或批处理文件等传递值,您可以通过 using 传递参数&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 回答