存储过程中循环添加多条数据

yangjinju2008 2015-10-12 09:45:04
我有a表,从这个表里面取出f_id与n个值,然后我要把a表里面取出来的f_id作为条件,要往另外i表中insert into值,需要一条一条的添加,这个要怎么弄好
...全文
399 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haytor 2015-10-12
  • 打赏
  • 举报
回复

DECLARE @RowID INT
DECLARE @RowCount INT

SELECT
IDENTITY(INT,1,1) AS RowID,
*
INTO
#TempA
FROM
a
WHERE
f_id IN (...)

SELECT @RowCount = @@ROWCOUNT,@RowID = 1

WHILE @RowID<=@RowCount
BEGIN

INSERT i(...)
SELECT
...
FROM
#TempA
WHERE
RowID = @RowID

SET @RowID = @RowID + 1
END
frankl123 2015-10-12
  • 打赏
  • 举报
回复
写个游标?!!!!
卖水果的net 2015-10-12
  • 打赏
  • 举报
回复
这个不用循环,直接批量写入就可以了
大概格式如下
[sql]
insert into b select * from a where f_id in (n1,n2,n3,n4.....)

[/sql]
yangjinju2008 2015-10-12
  • 打赏
  • 举报
回复
我是用了游标,但是只会插入了一条记录,应该是要插入多条记录的

27,579

社区成员

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

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