Oracle SQLPlus:在没有输出行时打印 header 中的列标题(显示 "no rows selected" 消息)
Oracle SQLPlus: print column titles in header when there is no output rows (showing "no rows selected" message)
我是 运行 来自 SQLPlus 命令行的 SQL 命令,没有任何行。
示例:
select * from users;
no rows selected
即使 table 中没有行,我也想 显示列名。
我试过了:
set heading on;
查询运行后仍然没有出现headers!
我想要一个直接的命令,而不是像在 start/end 查询的 start/end 处通过 union 连接虚假记录的技巧。
这不能在 SQL*Plus 中完成。
需要两行:
desc 用户
select * 来自用户;
如果这是为了输出报告,在 11g 中您可以关闭 SQL*Plus headers:
设置航向;
然后自己添加headers:
SELECT listagg (column_name, ',')
WITHIN GROUP (ORDER BY COLUMN_ID) COLUMN_NAMES
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME='Users';
然后发出数据查询:Select * from Users;
这至少意味着您总是得到 headers。
我是 运行 来自 SQLPlus 命令行的 SQL 命令,没有任何行。
示例:
select * from users;
no rows selected
即使 table 中没有行,我也想 显示列名。
我试过了:
set heading on;
查询运行后仍然没有出现headers!
我想要一个直接的命令,而不是像在 start/end 查询的 start/end 处通过 union 连接虚假记录的技巧。
这不能在 SQL*Plus 中完成。
需要两行:
desc 用户
select * 来自用户;
如果这是为了输出报告,在 11g 中您可以关闭 SQL*Plus headers:
设置航向;
然后自己添加headers:
SELECT listagg (column_name, ',')
WITHIN GROUP (ORDER BY COLUMN_ID) COLUMN_NAMES
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME='Users';
然后发出数据查询:Select * from Users;
这至少意味着您总是得到 headers。