ALTER PROCEDURE [dbo].[K_FS_GenerateAutoDCNo]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @dcno VARCHAR(50), @latestindent VARCHAR(50)
SET @dcno = (SELECT '0000')
SET @latestindent = (SELECT dcno FROM K_FS_GenerateDcno
WHERE sno = (SELECT max(sno)
FROM K_FS_GenerateDcno))
IF EXISTS (SELECT dcno FROM K_FS_GenerateDcno WHERE dcno in (@dcno))
BEGIN
SELECT (@latestindent + 1) AS dcno
END
ELSE
SELECT (@dcno) AS dcno
END
這表明第一次0000
,在下一次顯示1
如何增加數字?
但我想顯示0001
..我該怎麼辦呢?
請幫我
此過程具有併發問題。您可能會在[通常]重負載下得到重複的值。 –
我認爲你的查詢可能存在一個小問題。在你的查詢達到9999條目後,下一個輸出是什麼?即使它回收並返回爲0001,您可能會遇到** PK **錯誤。我建議你給它添加一個時間戳或日期。請參閱此鏈接http://stackoverflow.com/questions/20883196/incrementing-custom-primary-key-values-in-sql – Mahe
可能的重複http://stackoverflow.com/questions/20883196/incrementing-custom-primary- key-values-in-sql – Mahe