导入表中的所有文件,将现有记录移动到以前的存档和存档

时间:2016-10-19 18:11:16

标签: sql-server

我有一个表,其中包含大约十二个表及其相应的文本文件,这些文件每周都会导入。表WEEKLYFILES具有字段TABLENAME和FILENAME。

这是我需要做的......

浏览表格名表,并为每张表格取现有表格,比如说," MYSTUFF"和

1)将MYSTUFF_previous中的数据移动到MYSTUFF_archive

2)将MYSTUFF中的数据移动到MYSTUFF_previous

3)将文本文件C:\ mystuff.txt中的新数据导入MYSTUFF

不知何故,我必须做一些事情:

SELECT @TABLENAME = TABLENAME, @FILENAME = FILENAME FROM WEEKLYFILES

然后对于每条记录,执行类似

的操作
INSERT INTO @TABLENAME_archive SELECT * FROM @TABLENAME_previous

- 将现有数据复制到上一个:

TRUNCATE TABLE @TABLENAME_previous; 

INSERT INTO @TABLENAME_previous SELECT * FROM @TABLENAME

然后加载新文本文件使用批量插入在清除后加载当前表

TRUNCATE TABLE @TABLENAME; 

BULK INSERT @TABLENAME FROM @FILENAME WITH 
 ( 
    FIELDTERMINATOR =',', 
     ROWTERMINATOR ='\n' 
);

0 个答案:

没有答案