![]() |
1
1
你的问题缺乏一个好答案所需的细节,但我会试一试。触发器很适合以表为目标,但是如果您对系统范围的写入感兴趣,那么您将需要一个更易于维护的更好的方法。对于系统范围的写入,我将研究在事务日志中检测更改的方法。不幸的是,每个供应商实现此部分的方式都不同,因此不太可能有一种方法适用于所有供应商。也就是说,在数据库服务器中工作的方法不太可能。但在操作系统级别上,服务器外部可能有更优雅的方式。例如,如果事务日志是磁盘上的一个文件,那么检测文件更改的某种简单脚本将指示数据库已写入。 请记住,您只要求检测数据库写入。如果您需要知道它是哪种类型的写操作,那么您需要进入事务日志来查看其中的内容。这肯定是特定于供应商的。 |
![]() |
2
0
这取决于你想做什么。如果需要启动数据库外部的东西,那么对数据库进行简单的轮询就可以做到这一点,否则特定于数据库的触发器可能是最好的。 |
![]() |
3
0
如果您想独立于数据库,那么轮询可以工作。它不是很有效率,也不是很优雅。如果您被诅咒使用不支持触发器的数据库,它也会起作用。我们过去使用的解决方法是使用一个定时(比如通过cron)的脚本来执行
然后将其与上次运行脚本时获得的值进行比较。如果匹配,告诉脚本退出或休眠。如果没有,做你的事。 这种方法还存在其他问题(例如,如果脚本占用时间太长,则会出现积压,或者出现并发问题等)。当然,性能也会成为一个问题! |
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
![]() |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
![]() |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
![]() |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
![]() |
Max J. · 用整数作为键将dict写入csv 2 年前 |