循环插入多条数据问题

xb375 2007-07-16 07:52:20

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中存放多个值的话,需要循环插到表中,该怎么写啊 ,求解.....

...全文
223 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolf5200 2007-07-19
  • 打赏
  • 举报
回复
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



-------------------------------
可以直接使用!
大家一起学习
MANSMOOTH 2007-07-19
  • 打赏
  • 举报
回复
支持 楼上的。
hellowork 2007-07-16
  • 打赏
  • 举报
回复
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

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧