每次插入新产品的时候,需要将Product Id中最大的值加1,然后转换成10位字符串后保存到数据库中

qq_36272186 2016-09-29 12:47:20
每次插入新产品的时候,需要将Product Id中最大的值加1,然后转换成10位字符串后保存到数据库中。怎么写求大神写下
...全文
606 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
灬小坏蛋 2016-09-29
  • 打赏
  • 举报
回复
问题描述不清楚,是不会实现将数据自动加1并转换为字符串,还是不会写字符串的转换? 转换楼上已经有人解答,我这里说一说自动增加的思路: 用触发器,新增数据时(inserted表有值,deleted表没值)自动将字段值加1,并转换为10位字符串,并保存到数据库(update操作)。
中国风 2016-09-29
  • 打赏
  • 举报
回复
如何实现自编号 http://blog.csdn.net/roy_88/article/details/1424370 06年时写的方法
道素 2016-09-29
  • 打赏
  • 举报
回复
你问的不是很清楚,比如你说的10位字符串是什么格式,是 1还是0000000001 1. 你可以通过程序max(productID)+1 再转换为自付款 2,也可以顶一个一个自增,在定义个compute自动生成十位的10位字符串

create table #t1(id int identity(1,1),sid  as right('0000000000'+convert(varchar,id),10),c int)
go
insert into #t1(c) values(100)
go 10
select * from #t1
/*
id	sid	c
1	0000000001	100
2	0000000002	100
3	0000000003	100
4	0000000004	100
5	0000000005	100
6	0000000006	100
7	0000000007	100
8	0000000008	100
9	0000000009	100
10	0000000010	100
*/
道玄希言 2016-09-29
  • 打赏
  • 举报
回复
表中添加个数字字段TID. 每次记录插入时, TID=max(TID)+1 Product Id = RIGHT('0000000000' + CONVERT(NVARCHAR(10), max(TID)+1), 10)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧