尝试从多个数据库进行计数(我能够做到),但我希望将计数结果放在数据库名称附近的表中。
我的最终结果是:
数据库名称 | unarchived_measurements |
---|---|
hdb1 | 10 |
hdb2 | 14 |
hdb3 | 9 |
代码:
DECLARE @DT datetime = DATEADD(hour, -3, GETUTCDATE())
DECLARE @DbName VARCHAR(64)
DECLARE @unarchived_measurements_count TABLE (DbName VARCHAR(64), unarchived_measurements INT)
INSERT INTO @unarchived_measurements_count (DbName)
SELECT name
FROM sys.databases
WHERE name LIKE 'H%'
DECLARE db_cursor CURSOR FOR
SELECT DbName FROM @unarchived_measurements_count
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DbName
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC (
'select count(*) as unarchived_measurements'
+ ' FROM ' + @DbName + '.dbo.measurements'
+ ' WHERE date < DATEADD(hour, -3, GETUTCDATE()) and processing_stage = 200'
)
FETCH NEXT FROM db_cursor INTO @DbName
END
CLOSE db_cursor
DEALLOCATE db_cursor
SELECT * FROM @unarchived_measurements_count
谢谢
我尝试使用插入语句,但这只是添加新行。我尝试更新,但一直出现错误。