轮询SQL server特定表的最新数据

轮询SQL server特定表的最新数据,第1张

这个要用动态sql来做,有问题再追问。

CREATE PROCEDURE proc_readtab

AS

BEGIN

 SET NOCOUNT ON

    DECLARE @tabname VARCHAR(20),@sql VARCHAR(200)              

    DECLARE tab_cur CURSOR FOR SELECT tname FROM sysobjects where name like 'Image_2014%'

    OPEN tab_cur

    FETCH NEXT FROM tab_cur INTO @tablename

    WHILE @@FETCH_STATUS = 0

    BEGIN

        SELECT @sql = 'SELECT Device_ID,MAX(Create_TIME) FROM ' + @tablename + 'group by Device_ID'

        EXEC(@sql)

        FETCH NEXT FROM tab_cur INTO @tablename

    END                

    CLOSE tab_cur

    DEALLOCATE tab_cur

END

GO

这个问题要看你在什么样的应用场景下了。如果数据库是暴露在项目之外的,或许共享的数据库,也就是说,什么时候更新了数据,你的应用程序是不知道的,这种情况下,一般采用轮询的方式

如果是自己的大项目中的数据库,一般采用DDD的开发方式,由不同领域之间通过Event Bus来通知数据的更新。

总的来说,在越成熟的项目中,业务模型的地位越重要,数据库作为技术模型是越应该被抽象掉的。所以建议你即使是在不大的项目中,也尽量采用Event Bus的方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10084378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存