比较实例中每个数据库的两个表的行数

安德里莫

我有一个包含许多数据库的sql实例。在一个查询中,我想计算每个数据库中Shops和Locations两个表的行数,以便能够比较这些值。

到目前为止,我有以下查询:

SELECT ('SELECT COUNT(1) FROM [' + name + '].[abc].[Shops]') as shopCount, 
       ('SELECT COUNT(1) FROM [' + name + '].[def].[Locations]') as locationCount,
       name as DB
FROM sys.databases 
WHERE OBJECT_ID('[' + name + '].[abc].[Shops]') IS NOT NULL AND 
       OBJECT_ID('[' + name + '].[def].[Locations]' ) IS NOT NULL

产生以下输出

shopCount                                      | locationsCount                                     | DB
------------------------------------------------------------------------------------------------------------------
SELECT COUNT(1) FROM [database1].[abc].[Shops] | SELECT COUNT(1) FROM [database1].[def].[Locations] | database1
------------------------------------------------------------------------------------------------------------------
SELECT COUNT(1) FROM [database2].[abc].[Shops] | SELECT COUNT(1) FROM [database2].[def].[Locations] | database2

很显然,我没有将字符串作为查询执行,但无法弄清楚如何执行。

Gotqn

像这样:

DECLARE @DynamicTSQLStatement NVARCHAR(MAX);

CREATE TABLE #DataSource
(
    [shopCount] INT
   ,[locationCount] INT
   ,[database] SYSNAME
);

SET @DynamicTSQLStatement = STUFF
(
    (
        SELECT ';INSERT INTO  #DataSource SELECT (SELECT COUNT(1) FROM [' + name + '].[abc].[Shops]), (SELECT COUNT(1) FROM [' + name + '].[def].[Locations]), ''' + name +'''' 
        FROM sys.databases          
        WHERE OBJECT_ID('[' + name + '].[abc].[Shops]') IS NOT NULL AND 
               OBJECT_ID('[' + name + '].[def].[Locations]' ) IS NOT NULL
        FOR XML PATH(''), TYPE
    ).value('.', 'NVARCHAR(MAX)')
    ,1
    ,1
    ,''
);



EXEC sp_executesql @DynamicTSQLStatement;

SELECT *
FROM #DataSource;

DROP TABLE #DataSource;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较两个不同数据库实例中的两个表的最佳方法是什么

来自分类Dev

Visual Studio SSDT数据比较如何在一个数据库中比较两个表

来自分类Dev

在两个数据库的两个不同表中插入相同的Guid键

来自分类Dev

将一个数据库表中的行插入另一个数据库中的两个不同表中

来自分类Dev

用两个模型将数据保存到两个数据库表中

来自分类Dev

比较来自DB2中不同数据库的两个表

来自分类Dev

基于两个数据库表之间的数据比较创建oracle视图

来自分类Dev

在Elixir Ecto中联接两个表属于两个数据库

来自分类Dev

使用一个数据库运行两个Sonar实例

来自分类Dev

两个流星实例连接到一个数据库-延迟问题

来自分类Dev

如何比较两个数据库中所有表的所有列

来自分类Dev

通过比较两个数据库表 Codeigniter/Mysql 删除匹配值

来自分类Dev

比较来自CakePHP中两个数据库的数据

来自分类Dev

比较两个数据库中的多列数据

来自分类Dev

如何根据特定键值从(数据库中的)两个拖曳表的比较中获取多个计数

来自分类Dev

如何从php中的一个数据库中的两个不同表中获取多个数据

来自分类Dev

如何比较YII2中的两个数据库表字段?

来自分类Dev

比较两个相似表、不同数据库之间的数据

来自分类Dev

如何通过比较两个不同数据库中的MySQL表来获取报告

来自分类Dev

SQL Server 2008比较同一数据库中的两个表,并更改get列

来自分类Dev

无法从Django模型的两个数据库中删除实例

来自分类Dev

比较每个ID与另一个数据库中的外键数量

来自分类Dev

比较两个表中的数据

来自分类Dev

从多个数据库的某个表中获取行数

来自分类Dev

插入两个不同数据库中的两个表

来自分类Dev

两个不同数据库中两个表之间的多对多关系

来自分类Dev

PHP / SQL-从两个数据库中的两个表中选择数据,然后按时间对其进行排序

来自分类Dev

OOP PHP通过两个不同的类访问两个数据库,如果两个表位于不同的数据库中该如何访问

来自分类Dev

将两个数据库表变成一个?

Related 相关文章

  1. 1

    比较两个不同数据库实例中的两个表的最佳方法是什么

  2. 2

    Visual Studio SSDT数据比较如何在一个数据库中比较两个表

  3. 3

    在两个数据库的两个不同表中插入相同的Guid键

  4. 4

    将一个数据库表中的行插入另一个数据库中的两个不同表中

  5. 5

    用两个模型将数据保存到两个数据库表中

  6. 6

    比较来自DB2中不同数据库的两个表

  7. 7

    基于两个数据库表之间的数据比较创建oracle视图

  8. 8

    在Elixir Ecto中联接两个表属于两个数据库

  9. 9

    使用一个数据库运行两个Sonar实例

  10. 10

    两个流星实例连接到一个数据库-延迟问题

  11. 11

    如何比较两个数据库中所有表的所有列

  12. 12

    通过比较两个数据库表 Codeigniter/Mysql 删除匹配值

  13. 13

    比较来自CakePHP中两个数据库的数据

  14. 14

    比较两个数据库中的多列数据

  15. 15

    如何根据特定键值从(数据库中的)两个拖曳表的比较中获取多个计数

  16. 16

    如何从php中的一个数据库中的两个不同表中获取多个数据

  17. 17

    如何比较YII2中的两个数据库表字段?

  18. 18

    比较两个相似表、不同数据库之间的数据

  19. 19

    如何通过比较两个不同数据库中的MySQL表来获取报告

  20. 20

    SQL Server 2008比较同一数据库中的两个表,并更改get列

  21. 21

    无法从Django模型的两个数据库中删除实例

  22. 22

    比较每个ID与另一个数据库中的外键数量

  23. 23

    比较两个表中的数据

  24. 24

    从多个数据库的某个表中获取行数

  25. 25

    插入两个不同数据库中的两个表

  26. 26

    两个不同数据库中两个表之间的多对多关系

  27. 27

    PHP / SQL-从两个数据库中的两个表中选择数据,然后按时间对其进行排序

  28. 28

    OOP PHP通过两个不同的类访问两个数据库,如果两个表位于不同的数据库中该如何访问

  29. 29

    将两个数据库表变成一个?

热门标签

归档