在Oracle的SQL * Plus中,SELECT的结果以表格方式显示。有没有办法以键值方式显示行(如MySQL的\G
option)?
我正在处理的数据库(架构未由我定义)有一堆列,例如: YN_ENABLED
(YN =是否),CHAR(1)
。因此,当我进行查询时,我得到的结果如
ID_MYTABLE Y Y Y
------------ - - -
3445 Y N Y
所以不清楚哪些列具有哪些值(没有在另一个窗口中打开架构)。
答案 0 :(得分:10)
没有内置于SQL PLus中,但Tom Kyte提供了一个名为print_table的过程来执行此操作。你会像这样运行它:
SQL> exec print_table ('select * from mytable where id_mytable=123');
And see results like:
ID_MYTABLE : 123
YN_ENABLED : Y
YN_SOMETHING : N
...
答案 1 :(得分:3)
我知道您的问题是关于SQL * PLus,但您可能有兴趣知道Oracle的SQL Developer可以做到这一点。右键单击“查询结果”并选择“单一记录视图...”即可使用该功能。
答案 2 :(得分:1)
如果你不想(或不能)在你的服务器上安装新程序,这可能是一个诀窍:
shift-control-c
复制行和
标题到剪贴板。 答案 3 :(得分:1)
迟到了,但我发现了这个
SQL> select * from xmltable('ROWSET/ROW/*' passing xmltype(cursor(select * from emp where rownum = 1
)) columns name varchar2(30) path 'node-name(.)', value varchar2(30) path '.');
找到here