gpt4 book ai didi

sql-server - 如何获取两个不同数据库中所有表的列表

转载 作者:行者123 更新时间:2023-12-02 07:45:46 24 4
gpt4 key购买 nike

我正在尝试创建一个小 SQL 脚本(在 SQL Server Management Studio 中)来获取两个不同数据库中所有表的列表。目标是找出哪些表存在于两个数据库中,哪些表只存在于其中一个数据库中。

我在SO上找到了各种脚本来列出一个数据库的所有表,但到目前为止我无法获取多个数据库的表的列表。

那么:有没有办法在 SQL Server 中查询特定数据库中的所有表,例如SELECT * FROM ... WHERE databaseName='first_db' 以便我可以将其与另一个数据库的结果连接起来?

最佳答案

SELECT * FROM <i>database1</i>.INFORMATION_SCHEMA.TABLES
UNION ALL
SELECT * FROM <i>database2</i>.INFORMATION_SCHEMA.TABLES
<小时/>

更新

为了比较两个列表,您可以使用 FULL OUTER JOIN ,这将显示两个数据库中都存在的表以及仅存在于其中一个数据库中的表:

SELECT *
FROM <i>database1</i>.INFORMATION_SCHEMA.TABLES db1
FULL JOIN <i>database2</i>.INFORMATION_SCHEMA.TABLES db2
ON db1.TABLE_NAME = db2.TABLE_NAME
ORDER BY COALESCE(db1.TABLE_NAME, db2.TABLE_NAME)

您还可以添加WHERE db1.TABLE_NAME IS NULL OR db2.TABLE_NAME IS NULL来仅查看数据库之间的差异。

关于sql-server - 如何获取两个不同数据库中所有表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6568098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com