Sql server 2008 用于从查询中插入记录的存储过程提示
我是个新手,只懂一些SQL的基本知识,你能教我如何在存储过程中编写这个吗 首先,我想从表中获取一个max idSql server 2008 用于从查询中插入记录的存储过程提示,sql-server-2008,Sql Server 2008,我是个新手,只懂一些SQL的基本知识,你能教我如何在存储过程中编写这个吗 首先,我想从表中获取一个max 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) 谢谢,, 杰夫你不需要
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)
谢谢,,
杰夫你不需要手术。只需一个查询
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_写的:让DB为您生成ID。还有:不要这样做!不要先执行“SELECT MAX()”,然后手动执行“+1”-这肯定会导致插入重复的值!您应该让数据库本身使用INT-IDENTITY
列来处理此问题。。。。。