首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

循环插入多条数据有关问题

2012-01-16 
循环插入多条数据问题 CREATEPROCsp_Drop_YP@ypidsvarchar(300),@USERNAMEintASEXEC( UPDATEUTB_YPSETSTAT

循环插入多条数据问题

CREATE           PROC   sp_Drop_YP
@ypids   varchar(300),
@USERNAME   int

AS

EXEC   ( 'UPDATE   UTB_YP   SET   STATUS=3,KWID=0   WHERE   ID   IN   ( '   +   @ypids   +   ') ')     --更新多条数据

INSERT   INTO   UTB_YPCL   (YPID,CZDM,RQ,RYID)   VALUES   (@YPIDS,3,GETDATE(),@USERNAME)

GO

这个存储过程中INSERT   INTO   UTB_YPCL   (YPID,CZDM,RQ,RYID)   VALUES   (@YPIDS,3,GETDATE(),@USERNAME) 这条语句只能往表中插入一条数据.如果@ypids中存放多个值的话,需要循环插到表中,该怎么写啊 ,求解.....



[解决办法]
hellowork(一两清风) ( ) 信誉:100 2007-7-16 21:01:20 得分: 0



CREATE PROC sp_Drop_YP
@ypids varchar(300),
@USERNAME int
AS
EXEC ( 'UPDATE UTB_YP SET STATUS=3,KWID=0 WHERE ID IN ( ' + @ypids + ') ') --更新多条数据
set @ypids = @ypids + ', '
while charindex( ', ',@ypids) > 0
begin
INSERT INTO UTB_YPCL (YPID,CZDM,RQ,RYID)
VALUES (substring(@ypids,1,charindex( ', ',@ypids)-1),3,GETDATE(),@USERNAME)
set @ypids = stuff(@ypids,1,charindex( ', ',@ypids), ' ')
end
GO



-------------------------------
可以直接使用!
大家一起学习

热点排行