如何计算自定义ID以增长到无穷大 [英] How to compute custom id to grow to infinity

查看:61
本文介绍了如何计算自定义ID以增长到无穷大的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




我有一个用户定义函数,如下所示,使用PK Id作为指南来计算自定义ID

 CREATE功能[dbo]。[CustomeId](
@Prefix NVARCHAR(10),
@Id INT,
@Length INT,
@PaddingChar CHAR(1)='0'

RETURNS NVARCHAR(MAX)
AS
BEGIN

RETURN(
SELECT @Prefix + RIGHT(REPLICATE(@ PaddingChar,@)长度)+ CAST(@Id as nvarchar(10)),@ Length)


END







在我的sql表的计算列规范中,我有:

([dbo]。[CustomeZoneId]('GH-', CONVERT([nvarchar](10),[Id],(0)),(10),'0'))





并且输出是GH-0000000001,GH-999999999

但我希望它能够在PK Id旁边增长到无穷大。像GH-1到无限的东西



我尝试了什么:



([dbo]。[CustomeZoneId]('GH  - ',CONVERT([nvarchar](10),[Id],(0)),(10),'0'))

解决方案

使用guid?

 TP://stackoverflow.com/questions/1435908/c-sharp-guid-and-sql-uniqueidentifier 


Hi
I have a user define function as below, to compute a custom Id using PK Id as guide

 CREATE FUNCTION [dbo].[CustomeId] (
 @Prefix NVARCHAR(10),
 @Id INT,
 @Length INT,
 @PaddingChar CHAR(1) = '0'
)
RETURNS NVARCHAR(MAX)
AS
BEGIN

RETURN (
 SELECT @Prefix + RIGHT(REPLICATE(@PaddingChar, @Length) + CAST(@Id as nvarchar(10)), @Length)
)

END




In my sql table's Computed Column specification I have:

([dbo].[CustomeZoneId]('GH-',CONVERT([nvarchar](10),[Id],(0)),(10),'0'))



and out put is GH-0000000001 , GH-999999999
but I want it to be able to grow to infinity along side the PK Id. something like GH-1 to infinity

What I have tried:

([dbo].[CustomeZoneId]('GH-',CONVERT([nvarchar](10),[Id],(0)),(10),'0'))

解决方案

Use a guid?

tp://stackoverflow.com/questions/1435908/c-sharp-guid-and-sql-uniqueidentifier


这篇关于如何计算自定义ID以增长到无穷大的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆