【发布时间】:2012-07-04 22:11:09
【问题描述】:
我需要你的智慧。我正在对从经典 asp 到 mvc 的系统进行大修,并且在此过程中,我正在重构 sql server 2008 r2 中的一个主表(称为 MAIN)。该表有一百多列(我对此不负责),我将结构移动到 7 个表以提高性能、灵活性和可维护性。但是,新旧代码在许多新旧页面中都引用了 MAIN 表。我想平稳而渐进地过渡到新表,它是业务的一个活跃的核心站点。请帮帮我。
一旦我转移了现有数据,
我想到了:
1.) 在 MAIN 表和七个 NEW 表上使用标准插入、更新和删除触发器。对于无限触发循环,我必须包含一个 catch (http://stackoverflow.com/questions/2237499/sql-server-trigger-loop)。
2.) 创建一个模拟 MAIN 表的视图,引用 NEW 表。我会在视图上使用 INSTEAD OF 触发器来通过视图插入和更新表。这将允许我立即删除 MAIN 表。
以下哪个更有意义?要么是极其愚蠢的吗?两个都?我绝对不是 dba,但我需要在第一时间做到这一点。
谢谢。
【问题讨论】:
标签: sql sql-server view triggers refactoring-databases