从 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 中选择所有表名 [重复]的主要内容,如果未能解决你的问题,请参考以下文章