sql - 获取表列表但不包括系统表(SQL Server 2K)?

标签 sql sql-server sql-server-2000

我知道我可以使用以下查询从给定数据库获取表列表:

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/

相关文章:

sql - 如果数据库中存在动态表则删除该表

sql - 如何在sql中使用带有select top的max函数

mysql - JOIN - 显示缺失的行但将它们附加到特定列

SQL Server 网址解码

SQL 一步提取每个类别的最大值

java - JDBC - 如何插入字符串值

mysql - GRANT USAGE to @user'%' 是否可以为特定列表工作?

sql-server - XML 服务器 XML 性能优化

SQL 触发器 - 如何测试操作?

php - MySQL 来自远程表的条件分组