如何解决如何在不修改数据库的情况下在多个数据库的同一表上创建触发器?
我有一台服务器,其中包含许多具有相同架构/结构的“子”数据库。我也有一个完全不同的控制器数据库。在没有在每个子数据库中创建触发器的情况下,我需要做的是在每个子DB的同一表上都具有一个触发器...就像它驻留在控制器DB中一样?这样的事情可能吗?如果可以,怎么办?
解决方法
在没有在每个子数据库中创建触发器的情况下,我需要做的是在每个子DB的同一表上都有一个触发器...就像可能将其驻留在控制器DB中一样?这样可能吗?
不。触发器与它所引用的对象紧密耦合,因此必须存在于相同模式,相同数据库中。
-
也许您可以在控制器数据库中有一个中央队列表,触发器只需将其相关数据插入该中央表中,然后就会有一个后台进程并将触发器应做的任何事情应用于相关数据库。这至少可以最小化触发器内部的业务逻辑。
-
如果中央队列表没有意义,那么您应该能够通过自动化/部署来减轻大多数顾虑。我曾经用相同的架构/过程/触发器管理了数百个数据库,将变更部署到所有数据库实际上并不比将变更部署到其中一个要困难得多。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。