我需要遍历数据库中的所有表。我与thsi查询这样做:如何查询SQL服务器数据库中的全表名称列表
SELECT so.name, so.*
FROM sysobjects so
WHERE so.xtype = 'U'
也能正常工作的所有的“DBO”模式中的表,但它并不适用于任何其他的模式工作。我所要的输出是这样的:
Users.Address Users.TelephoneNumbers dbo.GlobalSettings dbo.Configuration
相反,我得到这样的:
地址 TelephoneNumber GlobalSettings 配置
当我尝试构建动态SQL查询时,它失败,因为它找不到Address和TelephoneNumber表,因为它们的模式是不是默认的'dbo'。
任何想法?
什么版本的SQL Server? YOu可以使用SYSTABLES:http://msdn.microsoft.com/en-us/library/ms187406.aspx – 2009-12-09 20:39:48
这是Sql Server 2000(我相信它来自你发布的SQL)? – peacedog 2009-12-09 20:39:55
我正在使用SQL 2008 – skb 2009-12-09 20:41:27