我需要显示一个带有系统生成值的标签字段,即字母数字值。所以 是否可以创建一个存储过程,该过程将返回字母数字值,每次执行时都会返回自动增量值。 其中alpha值将像“ABC”一样恒定,只会增加数值。
例如:
1st time => ABC12345
2nd time => ABC12346
等等。
答案 0 :(得分:1)
创建FUNCTION
而不是Stored Procedure
CREATE FUNCTION USF_GenerateNewID() RETURNS VARCHAR(10)
AS
BEGIN
DECLARE @Prefix VARCHAR(3) = 'ABC'
DECLARE @ID VARCHAR(10)
SET @ID = (SELECT TOP 1 ID FROM <TABLE> ORDER BY ID DESC)
SET @ID = @Prefix + CAST((CAST(REPLACE(@ID,@Prefix,'') AS INT) + 1) AS VARCHAR(10))
RETURN @ID
END