2
我正在寻找一个解决方案如何,我可以在不同的表1000块基于日期时间的部分,从一个大表移动行价值(作为每月档案)。我使用MS SQL Server 2008的移动SQL Server数据
莱姆斯Rusanu在块移动行此处提供的计算器Move SQL Server data in limited (1000 row) chunks以下解决方案。像魅力一样工作:-)
WHILE 1=1
BEGIN
WITH messages AS (
SELECT TOP 1000 id, messageDatetime, message
FROM DemoData)
DELETE messages
OUTPUT DELETED.id, messageDatetime, message
INTO messageArchive;
IF (@@ROWCOUNT = 0)
BREAK;
END
我现在需要的是能够根据messageDate的月份部分将行移动到不同的表。从九月
- 消息应该被插入到一个名为messageArchive_09表十月
- 消息应该被插入到一个名为messageArchive_10
- 表...
什么想法?
+1使用。即使在动态SQL中,他也需要对翻译值进行硬编码,或者对每一行进行日期时间比较。 – JNK