[SQL ] 將資料庫所有Table(含Schema)名稱匯出
因為小弟我最近有這需求
整理了SQL Server和DB2版本
網路上找到的大多是沒帶Schema
另外寫了一隻C#小工具,可以把匯出清單轉成自己要的SQL語法
https://bitbucket.org/rexhuang/c-_sqlstringconcatenate
執行檔在 / SQLStringConcatenate / bin / Release /
提供參考
謝謝
SQL指令文字檔 https://goo.gl/rJN3Kj
<1>SQL Server查詢方式(透過SSMS)
SELECT TABLE_SCHEMA + '.' + TABLE_NAME as '結果'
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND TABLE_SCHEMA = 'dbo';
備註:
在SSMS執行,再複製結果貼上文字檔另存成INPUT.txt
<2>SQL Server查詢方式(透過SSMS的SQLCMD Mode)
:!!sqlcmd -d AdventureWorks2014 -h-1 -Q "set nocount on;SELECT TABLE_SCHEMA
+ '.' + TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE
TABLE' AND TABLE_SCHEMA = 'dbo'" -o "D:\INPUT.txt"
備註:
執行指令前請先選取SSMS的工具列『查詢(Q)』-->『SQLCMD模式(M)』
<3>SQL Server查詢方式(透過命令提示字元使用sqlcmd指令)
sqlcmd -S 127.0.0.1 -d AdventureWorks2014 -h-1 -Q "set nocount on;SELECT
TABLE_SCHEMA + '.' + TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE
TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbo'" -o "D:\INPUT.txt"
備註:
-S 127.0.0.1 資料庫位址如有不同請自行修改
-d AdventureWorks2014 請改成要查的資料庫名稱
<4>DB2查詢方式
export to INPUT.txt of del modified by nochardel select
CONCAT(CONCAT(rtrim(TABSCHEMA),'.'),rtrim(TABNAME)) from syscat.tables where
type = 'T' AND TABSCHEMA = 'SYSIBM'
備註:
SYSIBM請改成自己要查的Schema
<4>其他資料庫
請參考以下網址
How to List All Tables and Describe Tables in Oracle, MySQL, DB2 and
PostgreSQL
http://onewebsql.com/blog/list-all-tables
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.214.115.19
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1460877795.A.598.html
Database 近期熱門文章
PTT數位生活區 即時熱門文章