循环插入多条数据问题
 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          
 ------------------------------- 
 可以直接使用! 
 大家一起学习