作者rexhuang (BlueCancer)
看板Database
标题[SQL ] 将资料库所有Table(含Schema)名称汇出
时间Sun Apr 17 15:23:10 2016
因为小弟我最近有这需求
整理了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://webptt.com/cn.aspx?n=bbs/Database/M.1460877795.A.598.html