sql - SQL Server 增加 1 个主键 varchar
问题描述
我有这张桌子“艺术”:
COD - varchar(20) PK
DES - varchar(50)
简单的示例数据是:
COD DES
MM000000 AA
MM000001 BB
MM000010 CC
MM000145 DD
如何在每次插入时将 COD 列增加 1?最终的 pk 格式必须是:'MM' + 6 位
解决方案
DECLARE @a INT = 0;
WHILE @a < 100
BEGIN
SELECT 'MM' + RIGHT('000000' + CAST(@A as VARCHAR(6)),6)
SET @a += 1
END
CREATE TABLE #a
(
Id INT IDENTITY(1,1),
Code AS 'MM' + RIGHT('000000' + CAST(Id as VARCHAR(255)),6)
)
INSERT INTO #a DEFAULT VALUES
INSERT INTO #a DEFAULT VALUES
INSERT INTO #a DEFAULT VALUES
SELECt * FROM #a
但身份可能是一个增长不均衡的价值
推荐阅读
- javascript - 如何禁用滑动滑块中的拖动
- javascript - 在 JavaScript 中,您可以从 ForEach 循环内部将数组推送到外部变量吗?它不工作
- python - 2个相同代码之间的区别
- python - Python - while 循环的问题
- firebase - 如何从firebase颤振中提取带有流的嵌套引用
- security - 身份验证跟随是如何设计的?
- reactjs - 获得不变违规:ListView 在本机反应,但我没有使用任何列表视图
- json - 如何使用 jq 获取第一个数据?
- android - Android后退导航导致基于意图的活动崩溃
- build - 线程“主”java.lang.NoSuchMethodError 中的 Oozie 异常:org.apache.log4j.config.PropertySetter.activate()V