在没有提示变量文本的情况下假脱机sqlplus查询

时间:2014-07-26 09:24:43

标签: sql oracle sqlplus

我有一个sql文件,我在其中使用&提示用户输入变量签名并相应地使用sqlplus运行查询。它将输出假脱机到txt文件。

select * from ledger_line where order_no=&order_no;

我不是把整个脚本放在这里。当我运行它时,提示用户输入值的文本也显示在输出行之前。我只希望显示answerset。验证关闭,反馈关闭不起作用。使用-s以静默模式运行sqlplus也没用。

命令行:

SQL> @D:/deneme.sql
Connected.
Enter value for order_no: 99

输出txt:

Enter value for order_no: 99
Büro Malzeme Gideri      000001 S 0077030720 81 0077030720         0.90   TRY                                     
TicBrçlr-MG/FG-MMGid     000002 S 0032000103 96 0032000103         0.90 - TRY                             0,90          

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在开始假脱机之前,使用the accept command

获取用户的价值
accept order_no prompt "Enter order number: "
spool my_file
select * from ledger_line where order_no=&order_no;

替换变量由accept定义并填充,因此当您使用select时它已经有一个值,因此它不会再次提示。