存储过程提示从查询输出插入记录

时间:2017-02-27 10:24:15

标签: sql-server-2008

我是新手,只有一些SQL的基本知识,请教我如何在存储过程中写这个?

首先,我想从表中获取最大ID

SELECT MAX(ID) 
FROM groups 

然后与同一张表中的结果一起

select id,user_id 
from groups 
where group_id =11

使用增加的maxid

将循环中的所有记录插入到同一个表中
insert into groups 
values (maxid + 1, @id, @user_id, 33)

谢谢你, 杰夫

1 个答案:

答案 0 :(得分:0)

你不需要一个程序。只需一个查询

insert into groups 
select (SELECT MAX(ID)+1 FROM groups), id,user_id 
from groups 
where group_id = 11

顺便说一句,您应该将插入的列命名为:

insert into groups (col1, col2, ...) 

Marc_s写道:让数据库为你生成ID。