我有一个表中有一个字段:lngStatusID值为2的所有记录。如何通过签名过程在表中复制和插入记录?
现在我需要在同一个表,但与lngStatusID = 1
所以对于我认为存储过程将帮助我莫名其妙地再次插入所有记录。
按照我的逻辑应该是这样的:
1)我需要阅读与循环
2每条记录)复制所有领域中的临时变量
3)而不是执行插入查询插入记录lngStatusID = 1
我是新来的存储过程。 那么,任何人都可以指导我如何做到这一点?
或者有没有简单的方法来做到这一点?
我有一个表中有一个字段:lngStatusID值为2的所有记录。如何通过签名过程在表中复制和插入记录?
现在我需要在同一个表,但与lngStatusID = 1
所以对于我认为存储过程将帮助我莫名其妙地再次插入所有记录。
按照我的逻辑应该是这样的:
1)我需要阅读与循环
2每条记录)复制所有领域中的临时变量
3)而不是执行插入查询插入记录lngStatusID = 1
我是新来的存储过程。 那么,任何人都可以指导我如何做到这一点?
或者有没有简单的方法来做到这一点?
你并不需要为这个存储过程,一个简单的INSERT语句就可以了:
insert into mytable
(field1, field2, lngStatusID)
select field1, field2, 1
from mytable
为什么你需要再次插入呢?也许简单的更新就足够了?
UPDATE table SET IngStatusID = 1
请提供更多的细节,因为对我来说是没有意义的复制所有记录到临时表再次插入。
INSERT INTO <TABLENAME> (Col1,Col2,Col3)
SELECT Col1, Col2, 2
FROM <TABLENAME>
无需SP或游标
所以,你必须有一个字段,多行,并为每行的相同值的表?这看起来不太有用。 – JohnFx 2009-09-22 16:13:47
@Vikas你描述事物的方式以过程式语言显示你的背景。洞察力是,用SQL可以以声明方式完成许多事情。 SQL语言或其扩展允许用于存储过程或即席查询中的过程语句/片段。它们在某些情况下非常有用,但首先要“以声明的方式思考”。 – mjv 2009-09-22 16:22:10