【发布时间】:2019-02-23 11:25:21
【问题描述】:
我正在使用 Oracle 11g 并且有一个 Oracle SQL 查询(不是 SQL+),如下所示
spool E:\teST\log.txt
select username,account_status, created, default_tablespace
from dba_users where username='MMCANE';
spool off
exit;
我打算作为 Windows 批处理文件运行,为此我创建了配置如下的 .bat 文件
sqlplus *username*/*password*@*database* @E:\teST\Untitled.sql
Untitled.sql 是正在运行的选择查询
1.我可以将它作为 SQL 而不是 SQL Plus 运行吗?
运行批处理文件会以文本文件的形式生成所需的输出,但由于我将其作为 sqlplus 运行,因此会得到一个未格式化的输出文本文件(见下文)
USERNAME ACCOUNT_STATUS
---------- --------------------------------
CREATED
--------------------------------------------------------------
DEFAULT_TABLESPACE
--------------------------------------------------------------------------------
MMCANE OPEN
13-SEP-17
USERS
与通过在 SQL 开发人员本身中运行查询生成的脚本输出(见下文)相反
USERNAME ACCOUNT_STATUS CREATED DEFAULT_TABLESPACE
------------------ ----------------------------- ------------------------- -----------------------
MMCANE OPEN 13-SEP-17 USERS
2。有没有办法格式化?如果是这样,我应该在哪里下达命令?
我尝试在查询中指定 linesize、wrap 和其他命令,但由于我已在 Oracle SQL 中编写查询,因此无法正常工作。任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
“SQL 查询(不是 SQL+)”和“将其作为 SQL 而不是作为 SQL Plus 运行”是什么意思? SQL 是一种语言,SQL*Plus 是一种客户端,您的脚本包含 SQL*Plus 命令。 (不知道为什么你也标记为 SQL Developer?)对于格式,see this。您可能还想check out SQLcl 作为替代方案。
标签: oracle oracle11g oracle-sqldeveloper