【发布时间】:2013-12-30 23:58:45
【问题描述】:
我正在尝试编写一个 sqlplus 命令,该命令从存储在 .sql 文件中的查询创建表。
包含查询的特定 .sql 文件将作为变量 (&v_InputQuery) 提供给我的 sqlplus 命令。
我已经尝试过类似的方法,但它不起作用。
CREATE TABLE &v_OutputTable AS
(
< &v_InputQuery
)
;
我收到一条错误消息,提示缺少 SELECT 关键字。
我真正想要的是&v_InputQuery 不是替换为用户指定的文件名,而是替换为文件的实际内容。有没有办法做到这一点?
非常感谢。
【问题讨论】:
-
文件(名称)是否必须直接提供给 SQL*Plus,或者您可以使用中间 shell 脚本(或批处理文件,如果您在 Windows 上)?
-
@Alex Poole 我是 UNIX 环境的新手,所以我不熟悉 shell 脚本。我只是将其设置为方便自己,这样我就不必经常进入底层查询并用 CREATE TABLE...AS 包装它们。