如何复制&通过存储过程在表中插入记录?

时间:2009-09-22 16:10:06

标签: sql-server stored-procedures

我有一个包含一个字段的表:lngStatusID,其值为2,用于所有记录。

现在我需要在同一个表中再次插入所有记录,但是lngStatusID = 1

因此,我认为存储过程会以某种方式帮助我。

根据我的逻辑,它应该是这样的:

1)我需要用循环

读取每条记录

2)复制临时变量中的所有字段

3)然后执行插入查询以插入lngStatusID = 1

的记录

我是存储过程的新手。 那么任何人都可以指导我如何做到这一点吗?

或者有没有简单的方法呢?

4 个答案:

答案 0 :(得分:5)

您不需要存储过程,只需要一个简单的INSERT语句:

insert into mytable
(field1, field2, lngStatusID)
select field1, field2, 1
from mytable

答案 1 :(得分:1)

INSERT INTO <TABLENAME> (Col1,Col2,Col3)
SELECT Col1, Col2, 2
FROM <TABLENAME>

不需要sp或游标

答案 2 :(得分:0)

为什么需要再次插入?也许简单的UPDATE就足够了?

UPDATE table SET IngStatusID = 1

请提供更多详细信息,因为对我来说,将所有记录复制到临时表以再次插入是没有意义的。

答案 3 :(得分:0)

UPDATE <tablename>
SET IngStatusID = 1

话虽如此,任何只有一个字段的表可能不应该是一个表,除非它有某种查找。