sql - 在同一个表中查询 MS SQL Server 中的数据库列表

标签 sql sql-server database

这是我第一次在 SO 上发帖,所以请放轻松!

我正在尝试编写一个 SQL 脚本,在同一个表中查询单个 SQL Server 实例中的数据库列表。

我已经使用以下命令成功查询了我需要的数据库列表,并将这些数据插入到临时表中。

Select name Into #Versions
From sys.databases
Where name Like 'Master%'

Master 以数值为后缀,以标识不同的环境。

Select * From #Versions

Drop Table #Versions

我要查询的表名在每个数据库中都是相同的,我想从此表中提取最新值并将其插入到每个数据库的 temp 表中返回的数据库名称。

我试过研究这个但无济于事。我对 SQL 相当满意,但我担心我在这里可能会超出我的理解范围。

最佳答案

您可以执行以下操作。获得数据库列表后,您可以构建查询(您需要根据自己的目的对其进行编辑)。

Select name Into #Versions
From sys.databases
Where name Like 'test%'

declare @sql as varchar(max) = ''
select @sql = @sql + 'INSERT INTO sometable SELECT TOP 1 * FROM ' + name + '..sourcetable ORDER BY somedate DESC; '
FROM #Versions

exec (@sql)

Drop Table #Versions

关于sql - 在同一个表中查询 MS SQL Server 中的数据库列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19358092/

相关文章:

php - 搜索这种类型的数据库结构的最佳方法?

java - 注销,这样后退按钮就不会返回到个人资料

database - 动态Word文档

mysql - 如何标记数据 "historic"并将它们存储在不同的表中

sql - PostgreSQL:哪种索引顺序更好?

SQL查询以获得满足条件的直接父级

asp.net - 在 ASP.NET 中显示 SQL Server 数据库中的图像的最佳方式是什么?

sql - GROUP BY 查询未按预期排序

c# - "Failed to convert parameter value from int64 to int32"

sql-server - 如何返回与参数相同的类型