生成列列表:列按字母顺序而不是 table 顺序

Generate list of columns: Columns are in alphabetical order instead of table order

适用于 Oracle 12 的蟾蜍:

我想从 table 中自动生成列列表 -- 以便我可以快速编写包含 table 列子集的查询。

在 Toad 中,我可以通过以下方式完成此操作:

  1. 在架构浏览器中右键单击 table 名称
  2. 生成声明
  3. Select

结果:

列列表被复制到剪贴板。我可以将列名粘贴到编辑器 window 中并编写我的查询。


问题:

Toad 似乎以字母顺序 生成列列表。我更愿意按照它们在 table 中出现的顺序处理列,而不是按字母顺序。

Toad 中有没有一种方法可以快速生成 table 列的列表——使用原始 table 中的列顺序?

跳过 TOAD UI 并使用下面的查询。如果需要,我在末尾添加了一个逗号。

select column_name ||','
from user_tab_columns 
where table_name = '<yourtable>'
order by column_id

花点时间阅读 Oracle Data Dictionary。当您需要获取有关 oracle 对象(例如 table、视图等

的元数据时,这非常有用

@OldProgrammer 回答的修改版本:


就我而言,作为非 dba,我不得不使用 all_tab_columns(并指定 table 所有者),因为 user_tab_columns 没有 return我的任何记录。

select 
    column_name ||','
from 
    all_tab_columns 
where 
    owner = 'MAXIMO'
    and table_name = 'PO'
order by 
    column_id