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

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

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

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

命令应该是什么样子的?

string SqlOrder="Select ??? from TestDB"

【问题讨论】:

  • 您需要触发语句,获取结果,然后在 c# 中格式化

标签: c# sql oracle


【解决方案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;

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 2020-10-18
  • 1970-01-01
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多