我寫一個程序掃描所有表名數據庫並顯示所有從Oracle數據庫中選擇所有的表名
我的數據庫有表:用戶,訂單,歷史
它應該是這樣的:「現有表格:用戶訂單歷史記錄」
命令應該如何顯示?
string SqlOrder="Select ??? from TestDB"
我寫一個程序掃描所有表名數據庫並顯示所有從Oracle數據庫中選擇所有的表名
我的數據庫有表:用戶,訂單,歷史
它應該是這樣的:「現有表格:用戶訂單歷史記錄」
命令應該如何顯示?
string SqlOrder="Select ??? from TestDB"
試試這個
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()也可能是相關的:http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php#listagg – CloudyMarble 2013-03-06 09:43:39
同意。添加到答案中。 – peterm 2013-03-06 09:53:06
這答案正是我想要做thx! – Sam 2013-03-06 10:31:00
select table_name
from all_tables
手冊中的更多細節:http://docs.oracle.com/cd/E11882_01/server.112/e25513/statviews_2117.htm#i1592091
手動鏈接丟失格式化這些,而且我猜OP didnt意味着這個 – CloudyMarble 2013-03-06 09:29:43
我明白像他想將表名和表名之間的字符串作爲彗星分隔,這將解釋用C#標記標記問題。 – CloudyMarble 2013-03-06 09:32:33
@TwoMore:但他仍然需要以某種方式選擇所有表名。 – 2013-03-06 09:33:17
您需要解僱的說法,得到那麼結果在C# – CloudyMarble 2013-03-06 09:28:50