我想知道是否可以在接受用户输入的SQL脚本中提供变量值。这是较大任务的一小部分(一个问题涉及编写一个必须调用另一个脚本的脚本,这又需要用户输入)。我无法改变需要用户输入的脚本。
为简单起见,假设我在foo.sql
中有以下内容:
ACCEPT TABLENAME CHAR PROMPT 'Enter Table: '
SELECT * FROM &TABLENAME;
一旦我已经登录SQL * Plus,有没有办法让我以类似于Bash的方式执行foo.sql
和重定向输入?在一个理想的世界里,我可以这样做:
@foo < "SOMETABLE"
不幸的是,这不起作用。有没有办法实现这个目标?
答案 0 :(得分:2)
在登录之前,您可以将输入从文件重定向到sqlplus
命令:
> sqlplus user/pwd@db @foo < input_file