0

我需要在现有表中添加一列。此列必须添加到表的末尾,并且必须是一个递增的整数。(身份)。

可以在现有桌子上完成吗?如果是这样怎么办?

基本上我正在转移这张桌子,需要阅读它。为此,我正在使用此查询:

select * 
from (select 
         *, 
         ROW_NUMBER() over (order by localcol desc) as RowId 
      from " & i & ") dt 
where 
    RowId between  " & currentrow & " and " & currentrow + TextBox7.Text

但这需要太多内存,并且正在运行的 PLC 挂起,因为该表有 3.000.000 行。

由于这只能在一段时间内完成,因此我正在考虑添加一identity列,使用该列作为范围执行查询,最后再次删除该列..

4

1 回答 1

0

是的,你可以这样做。只需使用 CREATE TABLE 创建一个新表并指定您现有的列。然后再添加 1 个身份。将您的数据插入到这个新表中,执行您需要做的任何处理,然后使用 DROP TABLE 删除该表。

你也可以用临时表做同样的事情,你的选择。

于 2013-10-18T15:51:23.047 回答