方法一:

DECLARE @temp1 TABLE (AutoID INT )
SELECT IDENTITY(INT,1,1) AS 序号 INTO #temp1 FROM t1
      SELECT * FROM #temp1
drop TABLE #temp1

 

注意:要这样IDENTITY(INT,1,1) AS 序号

如果直接IDENTITY(INT,1,1),不要别名会报错误。

 

方法一只能单独使用IDENTITY(INT,1,1),而不能随意在后面加上原有的行数。

因此要用方法二。

方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/

INSERT INTO tPBomCrafts(AutoID,BomCraftsID,BOMID,CraftIndex,StationID,CompleteJudgment,Remark)
 SELECT ISNULL((SELECT MAX(AutoID) FROM tPBomCrafts),0)+ (RANK() OVER (ORDER BY AutoID DESC)),
 t1.AutoID,t1.BOMID,t1.CraftIndex,t1.StationID,t1.CompleteJudgment,t1.Remark
 FROM tBomCrafts t1
 INNER JOIN tBOM t2 ON t2.BOMID=t1.BOMID
 WHERE t2.BOMID=@BOMID

posted on 2014-02-16 22:29  清风暮雨  阅读(834)  评论(0)    收藏  举报