Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 用于从查询中插入记录的存储过程提示_Sql Server 2008 - Fatal编程技术网

Sql server 2008 用于从查询中插入记录的存储过程提示

Sql 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) 谢谢,, 杰夫你不需要

我是个新手,只懂一些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)
谢谢,,
杰夫

你不需要手术。只需一个查询

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
列来处理此问题。。。。。