【发布时间】:2013-08-10 08:01:05
【问题描述】:
我有一个查询,如下所示 column1 是整数 另一列是 varchar(100)
INSERT INTO TABLE1 (column1,column2)
SELECT (MAX(column1) FROM TABLE1)+1 ,anotherColumn FROM TABLE2
查询前的表1
column1 column2
------- -------
3 test1
4 test2
查询后的表1
column1 column2
------- -------
3 test1
4 test2
5 anotherVal1
5 anotherVal2
5 anotherVal3
但我想要
column1 column2
------- -------
3 test1
4 test2
5 anotherVal1
6 anotherVal2
7 anotherVal3
如何在 SQLserver 2008 StoredProcedure 中实现这一点? 我一直认为查询是迭代的,他们会检查每一行的条件。但似乎聚合函数只执行一次!
编辑 1
请也回答这个问题 仅在完成 SELECT 语句后,INSERT 才会起作用。这就是为什么我没有得到预期的结果???我说的对吗?
【问题讨论】:
-
您确定不想为该列指定身份吗? technet.microsoft.com/en-us/library/ms174639.aspx
-
是的,我确定。我不能在我的上下文中使用它
标签: sql sql-server sql-server-2008 tsql stored-procedures