我知道我可以使用以下查询从给定数据库获取表列表:
select *
from information_schema.tables
我该如何排除系统表?
最佳答案
我知道这是一个相当老的问题,但有人刚刚对其进行了编辑以使其复活,并且从我的角度来看,“正确”的答案不是列出的两个答案中的任何一个。 accepted answer包括一些“系统”表(注释中提到了dtproperties
。如果用户正在进行任何复制,他们会发现更多)。
other answer使用 2005 年的表格,但几乎是正确的。对于 2000 年,您要使用 OBJECTPROPERTY
相反:
select name from sysobjects where
OBJECTPROPERTY(id,N'IsTable')=1 and
OBJECTPROPERTY(id,N'IsMSShipped')=0
关于sql - 获取表列表但不包括系统表(SQL Server 2K)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216219/