V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WhyAreYouSoSad
V2EX  ›  程序员

老项目如何做数据库拦截。

  •  
  •   WhyAreYouSoSad · 2019-04-28 11:09:28 +08:00 · 2654 次点击
    这是一个创建于 2029 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个老项目,用 mssql,现在 crud 散落在程序里,有的是 sql hardCode,有些是 sqlcommand,有些在 mssql 的存储过程和视图里。 现有一个需求,我需要在业务量最大的那几张表,做 crud 任何操作前先完成一系列指令,可以是在 mssql 里做,或者调用第三方 dll。前提限制:不能用数据库触发器。

    10 条回复    2019-04-29 11:07:30 +08:00
    hcymk2
        1
    hcymk2  
       2019-04-28 13:07:25 +08:00
    xxxy
        2
    xxxy  
       2019-04-28 14:56:54 +08:00
    可以加个代理层吗?
    ho121
        3
    ho121  
       2019-04-28 14:59:13 +08:00 via Android
    面试题?
    annielong
        4
    annielong  
       2019-04-28 15:42:31 +08:00
    最大的那几张表,做成视图,
    zjsxwc
        5
    zjsxwc  
       2019-04-28 15:48:59 +08:00
    能说下不能用触发器的原因吗
    murmur
        6
    murmur  
       2019-04-28 15:53:45 +08:00
    不用触发器,没有拦截器,我也很想知道答案,视图肯定不行的
    bsg1992
        7
    bsg1992  
       2019-04-28 18:17:04 +08:00
    SqlDependency
    no1xsyzy
        8
    no1xsyzy  
       2019-04-29 09:46:04 +08:00
    要么重构要么代理
    WhyAreYouSoSad
        9
    WhyAreYouSoSad  
    OP
       2019-04-29 09:46:51 +08:00
    昨天没说清楚,因为原来的 crud 操作散落在各个地方,有程序的,有插件的,有数据库的。而且是老项目,现在需要找到一种在数据库上直接干预某几个表操作的底层操作。比如触发器这种,但是最好效率是表级不要是行级监控。
    fanyiaa
        10
    fanyiaa  
       2019-04-29 11:07:30 +08:00 via iPhone
    mssql 里加上队列,用触发器搞。这样触发器不影响性能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2630 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.