将新列插入现有SQL表

时间:2014-06-02 12:31:02

标签: sql sql-server sql-server-2008

我有一个“源数据”表,其中包含A,B,C,D,E,F

我使用此表通过

填充实时表格
INSERT INTO LIVETABLE 
   SELECT * 
   FROM SOURCEDATATABLE

最近,LIVETABLE

添加了一个新列(C1)

我想要做的就是在C和D之间的SOURCEDATATABLE中插入一个C1列,现在它是A,B,C,C1,D,E,F。由于LIVETABLE接受NULL

,因此无需填充数据

有没有简单的解决方案?

编辑 - 缺少信息

这个表是其中之一,我使用INSERT INTO的方法是由于必须使用动态SQL(出于各种其他原因)所以我不能指定列名

2 个答案:

答案 0 :(得分:0)

Mantra有一个理由“我不会使用SELECT *”而你直接进入它。将列添加到SOURCEDATATABLE(如果需要)并枚举SELECT子句中的列,使用NULL作为新列。

答案 1 :(得分:0)

在两列之间插入新列的唯一方法是创建一个新表,其中包含所需顺序的列,将数据复制到其中,删除旧表并使用旧名重命名新表。确保删除主键标识以维护标识列。