如何列出某一Database中所有Table

如何列出某一Database中所有Table

要查看Database中所有User Defined Table方法有很多種,本文利用下列Object Catalog Views來實作:

  • sys.tables:列出Database中所有Table物件。

imageimage

  • sys.objects:列出Database中所有Schema,但不包含DDL Trigger。

imageimage

  • sys.schemas:列出Database中所有schema。

imageimage

  • 下列程式示範如何使用sys.tables及sys.schemas列出所有table物件:
   1:  SELECT s.name + '.' + t.name AS TableName
   2:  FROM sys.tables t
   3:  INNER JOIN sys.schemas s
   4:       ON t.schema_id = s.schema_id
   5:  ORDER BY s.name,t.name

  • 下列程式示範如何使用sys.objects及sys.schemas列出所有table物件:
   1:  SELECT s.name + '.' + o.name AS TableName
   2:  FROM sys.objects o
   3:  INNER JOIN sys.schemas s
   4:  ON o.schema_id = s.schema_id
   5:  WHERE type = 'U'
   6:  ORDER BY s.name,o.name

參考資料:

http://sqlserverpedia.com/blog/sql-server-bloggers/get-a-list-of-all-the-tables-in-a-database/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+sqlserverpedia+(SQLServerPedia)

http://msdn.microsoft.com/zh-tw/library/ms187406.aspx

http://msdn.microsoft.com/zh-tw/library/ms176011.aspx

http://msdn.microsoft.com/zh-tw/library/ms190324.aspx