我已經創建了一個存儲過程的自動增量編號它返回相同的結果,我不想要的。然後我改變了代碼序列,現在程序按我的預期工作。存儲過程返回結果沒有變化
Create procedure AUTOINCNUM
as
begin
set nocount on;
declare @Value int
select @Value = CH_AUTOSERIES from tracker
set @value = @value + 1
return @value
insert into tracker(CH_AUTOSERIES) values(@Value)
end
這個程序工作正常
Create procedure AUTOINCNUM
as
begin
set nocount on;
declare @Value int
select @Value = CH_AUTOSERIES from tracker
set @value = @value + 1
insert into tracker(CH_AUTOSERIES) values(@Value)
return @value
end
我看到的唯一區別是第一個過程不會在'tracker'表中插入任何東西 - 這是因爲'insert'之前有'return'語句。 –
另外,不要嘗試滾動自己的自動增量。這肯定會失敗。使用sql-server的內置選項,2012+版本的序列對象,或任何版本的簡單標識列。 –