【发布时间】:2017-08-11 14:57:44
【问题描述】:
我有一个表,我想将一个值插入到一个唯一的列中,该列基本上由 3 个因素决定:
- 字符 R 开头
- 然后是自动增量值
- 然后 n 个零(取决于增量值)
例如:
- 如果
SELECT IDENT_CURRENT('Request');- 返回
1则为R0001 - 返回
121那么它应该是R0121
- 返回
到目前为止我尝试过的是
DECLARE @RequestUid NCHAR(5)
DECLARE @maxAutoIncrement INT
SET @maxAutoIncrement = IDENT_CURRENT('Request');
SET @RequestUid = CONCAT('R', '0000', @maxAutoIncrement)
INSERT INTO [dbo].[Request] ([RequestTitle], [RequestTypeId], [FromDate],[ToDate],
[RequestDescription], [FormId], [UserId],
[CreatedOn], [CreatedBy],[RequestUid])
VALUES (@RequestTitle, @RequestTypeId, @FromDate, @ToDate,
@RequestDescription, @FormId, @UserId,
GETDATE(), @CreatedBy, @RequestUid)
此语句用于存储过程。
任何帮助将不胜感激。
【问题讨论】:
-
请标记您的版本和数据库。看起来像 SQL 服务器。
-
已添加.. 感谢您的关注
标签: sql stored-procedures sql-server-2012