Sql server字符串实现自动增长

在Sql自动增长列,用起来很方便,前段时间有人问题如果用字符串来实现自动增长该怎么实现?

下面是我的思路和实现代码:

在设计表的时候给要自动增长的字段设置属性为not null 默认值为:空字符串(默认值可以是任意字符串,只要和以后不冲突就行);
再建议一个触发器和一个函数,函数用来计算最新的编码id,触发器用来检测是否有id为空字符串的数据插入;
当有空字符串的数据插入时就更新那一条数据。

------------------------------------------------------华丽的分割线-------代码部分--------------------------------------------------------------

--建表

CREATE TABLE test(id VARCHAR(10) DEFAULT '' PRIMARY KEY,NAME NVARCHAR(10))
INSERT INTO test VALUES('A001','A001')--插入数据测试

--建触发器

CREATE TRIGGER dbo.trg_test ON test 
AFTER INSERT
AS
BEGIN
	DECLARE @id VARCHAR(10),@curid VARCHAR(10),@str VARCHAR(10),@n INT
	SELECT @id=MAX(id) FROM test
	SELECT @str=LEFT(@id,1),@n=CONVERT(INT,RIGHT(@id,3))+1
	SELECT @curid=id FROM inserted
	
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值