Insert语句内表中的自动递增Id



我需要在插入查询中自动增加一个id。

DECLARE @parts_table  TABLE( partid int,qty float,cost numeric(10,2),hrb int) /*create parts_table  */
/*Insert data to created table*/
INSERT INTO @parts_table (partid,qty,cost,hrb)
SELECT part_id ,unit_cost,qty,hrb_id FROM asset_parts
Declare @product_codes Parts_Codes 
while exists(select * from @parts_table where hrb=1 or hrb=3)
Begin
Insert into @product_codes(id ,code) Values(null,'')
end

在这里读取表中的所有数据,并根据需要将数据插入Parts_Codes的数量。当将数据插入表时,我需要自动增加id。有办法做到这一点吗?

在这里我找到了一个解决方案。

Declare @count int
Declare @partid int
Declare @qty float
Declare @hrb int
Set @count=0
DECLARE @parts_table  TABLE( partid int,qty float,cost numeric(10,2),hrb int,isprocess int) 
Declare @product_codes Parts_Codes 

INSERT INTO @parts_table (partid,qty,cost,hrb,isprocess )
SELECT part_id ,unit_cost,qty,hrb_id,0 FROM asset_parts


while exists(select * from @parts_table where isprocess =0)
Begin
select top 1 @partid=partid,@qty =qty ,@hrb=hrb 
from @parts_table 
where isprocess =0
if(hrb=1 or hrb=3)
Begin
While(@count <= @qty)
Begin
Insert into @product_codes(id ,code) Values(@count,'')
Set @count=@count+1
end
end
else
begin
Insert into @product_codes(id ,code) Values(@count,'')
end
Update @parts_table set isprocess =1
End

相关内容

  • 没有找到相关文章

最新更新