从 Oracle DB 中选择所有表名 [重复]

Posted

技术标签:

【中文标题】从 Oracle DB 中选择所有表名 [重复]【英文标题】:Select all table names from Oracle DB [duplicate] 【发布时间】:2013-02-21 00:15:43 【问题描述】:

我编写了一个程序,它扫描数据库的所有表名并显示所有

我的数据库有表格:用户、订单、历史

应该是这样的:“现有表:用户订单历史”

命令应该是什么样子的?

string SqlOrder="Select ??? from TestDB"

【问题讨论】:

您需要触发语句,获取结果,然后在 c# 中格式化 【参考方案1】:
select table_name
from all_tables

手册中的更多详细信息:http://docs.oracle.com/cd/E11882_01/server.112/e25513/statviews_2117.htm#i1592091

【讨论】:

缺少手动链接,除此之外我猜 OP 不是这个意思 我理解它就像他希望将表名之前的字符串和表名以逗号分隔,这将解释用 C# 标记标记问题。 @TwoMore:但他仍然需要以某种方式选择所有表名。 完全正确,我对您的回答没有任何问题,但想知道它是否回答了问题,估计我们将不得不等待 OP 谢谢,帮助很大。【参考方案2】:

试试这个

SELECT 'Existing Tables: ' || wm_concat(table_name) tablenames 
  FROM user_tables;

对于它返回的示例 Oracle HR 数据库

TABLENAMES
------------------------------------------------------------------------------------
Existing Tables: REGIONS,LOCATIONS,DEPARTMENTS,JOBS,EMPLOYEES,JOB_HISTORY,COUNTRIES

更新:LISTAGG()为例

SELECT 'Existing Tables: ' || LISTAGG(table_name, ',') 
        WITHIN GROUP (ORDER BY table_name) tablenames 
  FROM user_tables;

【讨论】:

LISTAGG() 也可能是相关的:oracle-base.com/articles/misc/… 同意。添加到答案中。 这个答案正是我想做的,谢谢!

以上是关于从 Oracle DB 中选择所有表名 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何解决Oracle数据库中重复数据的方法步骤

查询 Oracle Db 中的所有表和字段 [重复]

如何根据Oracle中的值查找表名[重复]

Oracle查询表里的重复数据方法

如何跟踪从应用服务器提交到 Oracle DB 的所有查询? [复制]

查看在 Oracle DB 12c 中执行的所有 SQL 语句 [重复]