【发布时间】:2013-03-16 11:07:32
【问题描述】:
我想要做的是验证一个 URL。我只需要能够从我们目前在 SQL Server 2008 中拥有的所有数据库中选择单个值。所有数据库都是相同的,只是同一数据库的多个实例用于不同的用户。
我希望从每个数据库的一个表中提取一项。
每个数据库都包含一个表SETTINGS,并且在该表内有一个MapIconURL 的值。我需要每个数据库中每个表的值。我正在查看大约 30 个具有此值的数据库。
所以我找到了“未记录的”存储过程 sp_MsForEachDb 并且可以工作....到一定程度。
我使用的代码是这样的:
EXEC sp_MsForEachDb 'use ?; SELECT "?" as databasename,SETTINGSKEYID, SECTION, NAME, INIVALUE, DESCRIPTION
FROM ?.dbo.SETTINGS
WHERE [NAME] = "MapIconURL"'
我注意到它没有选择所有数据库,但它也选择了主表以及其他系统表,我认为这可能是它没有选择所有表的原因。有没有办法排除系统相关的表?
【问题讨论】:
-
从 db1.dbo.SETINGS UNION 中选择 MapIconURL 全部从 db2.dbo.SETINGS 中选择 MapIconURL ...