1

我想知道是否可以在接受用户输入的 SQL 脚本中为变量提供值。这是较大任务的一小部分(一个问题涉及编写一个脚本,该脚本必须调用另一个脚本,而这又需要用户输入)。我无法更改需要用户输入的脚本。

为简单起见,假设我有以下内容foo.sql

ACCEPT TABLENAME CHAR PROMPT 'Enter Table: '
SELECT * FROM &TABLENAME;

一旦我已经登录到 SQL*Plus,有没有办法让我以foo.sql类似于 Bash 的方式执行和重定向输入?在理想的世界中,我可以这样做:

@foo < "SOMETABLE"

不幸的是,这不起作用。有没有办法做到这一点?

4

1 回答 1

2

您可以在登录之前将输入从文件重定向到sqlplus命令本身:

> sqlplus user/pwd@db @foo < input_file
于 2012-08-10T12:51:45.890 回答