Sql 在多列表的列中插入特定的有界数字
我想更新表中的id列,并将其插入到第1列到第600列,如下所示: 更新前的表:Sql 在多列表的列中插入特定的有界数字,sql,sql-server,sql-server-2000,Sql,Sql Server,Sql Server 2000,我想更新表中的id列,并将其插入到第1列到第600列,如下所示: 更新前的表: id name date comment ------------------------------ 1 jack 9/10/12 null 100 david 9/11/12 20 158 sara 9/12/12 null . 更新后的表: 1 jack 9/10/12 null 2 david 9/11/12
id name date comment
------------------------------
1 jack 9/10/12 null
100 david 9/11/12 20
158 sara 9/12/12 null
.
更新后的表:
1 jack 9/10/12 null
2 david 9/11/12 20
3 sara 9/12/12 null
.
597 " " "
598 " " "
599 " " "
600 " " "
你需要做的第一件事是找出你有多少行 声明@COUNTER INT SET@COUNTER=从tbl_tablename中选择COUNT* 然后声明一个临时表,除了ID之外,它的结构几乎完全相同 声明@tmp_表 P_Id int主键标识, 这个领域的其他部分都是一样的 现在,在新表中插入除id之外的所有内容 插入@tmp_表格 从tbl_tablename中选择名称、日期、注释 清除原始表格 从tbl_表名中删除 并插入临时表中的值 插入tbl_表名,从@tmp_表中选择* 现在可以添加附加值
而@COUNTER如果Id是主键,那么它们是否不在其他表中引用?不建议更新PK,但如果这样做,您希望如何更新其他引用表?是否需要更改顺序排序的ID?不要那样做。如果另一个表上的记录依赖于此,该怎么办?很抱歉,SQL Server 2000不支持CTE或排名函数ROW_NUMBER,这就是您得到该错误的原因。我给你的问题贴上了标签,等着有人来解决。id不是主键。tanxIs标识了一个标识列吗?这些是不可更新的。