Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1.  
  2. DROP TABLE #MONITOR
  3. GO
  4. create table #MONITOR
  5. (TABLE_NAME varchar(100),
  6. LAST_INSERT_DATE datetime2,
  7. NO_RECORDS decimal,
  8. NO_RECORDS_ORIGIN decimal
  9. )
  10. go
  11.  
  12.  
  13. declare @table varchar(100)
  14. declare @date datetime2
  15. declare @query nvarchar(1000)
  16. declare @query2 nvarchar(1000)
  17. declare @no_records decimal
  18. declare @no_records2 decimal
  19. declare @ParamDefinition nvarchar(100)
  20. declare @ParamDefinition2 nvarchar(100)
  21. SET @ParamDefinition = N'@NO_ROWS_OUT decimal OUTPUT';
  22. SET @ParamDefinition2 = N'@NO_ROWS_ORIGIN decimal OUTPUT';
  23.  
  24. DECLARE db_cursor CURSOR FOR
  25. select TABLE_NAME, max(LAST_INSERT_DATE), 'select @NO_ROWS_OUT = COUNT(*) from '+TABLE_NAME, 'select @NO_ROWS_ORIGIN = count(*) from ' + f.[SCHEMA]+'.'+f.SOURCE_TABLE
  26. from [ODS_AFCINDRA01].[dbo].D_METTABLE t
  27. inner join D_METJOB j
  28. on t.IDJOB = j.ID
  29. inner join D_METFROM f
  30. on f.IDTABLE = t.ID
  31. where t.IDJOB > 0
  32. and t.FLAG_EXEC = 1
  33. and j.FLAG_EXEC = 1
  34. and t.TABLE_NAME not like 'TMP_%'
  35. group by t.TABLE_NAME, f.SOURCE_TABLE, f.[SCHEMA]
  36. order by TABLE_NAME
  37.  
  38. OPEN db_cursor
  39. FETCH NEXT FROM db_cursor INTO @table, @date, @query, @query2
  40.  
  41.  
  42. WHILE @@FETCH_STATUS = 0
  43. BEGIN
  44. execute sp_executesql @query, @ParamDefinition, @NO_ROWS_OUT = @no_records OUTPUT;
  45. execute sp_executesql @query2, @ParamDefinition2, @NO_ROWS_ORIGIN = @no_records2 OUTPUT;
  46.  
  47. insert into #MONITOR(TABLE_NAME, LAST_INSERT_DATE, NO_RECORDS, NO_RECORDS_ORIGIN) select @table, @date, @no_records, @no_records2
  48.  
  49. FETCH NEXT FROM db_cursor INTO @table, @date, @query, @query2
  50. END
  51.  
  52. CLOSE db_cursor
  53. DEALLOCATE db_cursor
  54.  
  55.  
  56.  
  57. select TABLE_NAME, MAX(LAST_INSERT_DATE) LAST_INSERT_DATE, MAX(NO_RECORDS) ODS_RECORDS, SUM(NO_RECORDS_ORIGIN) OPE_RECORDS
  58. from #MONITOR
  59. group by TABLE_NAME
  60.  
  61.  
  62. select f.[SCHEMA]+'.'+f.SOURCE_TABLE
  63. from D_METTABLE t
  64. inner join D_METFROM f
  65. on t.ID = f.IDTABLE
  66. where t.IDJOB > 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement