我想弄清楚如何实现下面描述的alter脚本。如果已经插入/选择,我很熟悉基础知识,但这更复杂。SQL alter script - 从一个表复制到另一个
我有一个遗留表,并需要将其数据移动到一个新的表格与更多的列。新表已经公开给一些选择用户,他们可能已经手动移动了公共数据。
所以对于LegacyTable每一行:
- 看它是否已经在NewImprovedTable存在(通过检查上存在两个表中的字符串场比赛)
- 如果不是,复制其到NewImprovedTable
- 不管它是否已被用户复制到NewImprovedTable自动刚才,或以前...
- 自动填充在NewImprovedTable一个新的名称字段(必须是唯一的 - 如“Legacy1”,“Legacy2 ”等)
- 设置IsLegacy标志NewImprovedTable
我需要在MS SQL和Oracle都实现这一点,但一旦我制定出一个逻辑,我可以找出在语法其他。
听起来好像MERGE语句是必经之路为你而去。 – tilley31 2014-08-28 15:13:52