如何在Excel中生成的SQL插入语句中获取行数?

时间:2011-08-23 18:32:38

标签: sql sql-server tsql excel

我在Excel中生成SQL插入语句,但我遇到了问题。这些语句适用的表的主键不是自动递增的标识。我试图找到一种方法,我可以在Excel中将rowcount放入它生成的插入语句中(从而有效地为我的行提供一个标识;或者至少让SQL Server在执行时停止抱怨)。

有没有人知道已经内置到Excel中的任何内容可以让我解决这个问题?如果没有,有没有人有任何其他想法?提前谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 从表中选择以获取主键的最大值
  2. 将值设置为变量,例如rowCount
  3. 在循环Excel电子表格时,将计数递增1并将该值用于插入语句
  4. 编辑:添加了示例

    DECLARE @MaxCount INT
    SELECT @MaxCount = MAX(ID) FROM SomeTable
    
    INSERT INTO (ID, ...) VALUES (@MaxCount + 1, ...)