在sql服务器中自动处理criment id [英] auto in criment id in sql sever

查看:84
本文介绍了在sql服务器中自动处理criment id的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用C#.net和sql server.i进行一个项目。可以在数据库表中自动增加coulum值。

但我想他们看起来像emp0001,emp002 ....



我怎么能这样做?

i am doin a project using C#.net and sql server.i could auto increment coulum values in the database table.
but i wann them look like emp0001,emp002....

how can i make it like this?

推荐答案

使用自动增量功能但只提取额外信息时你查询数据库....

Use the autoincrement feature but just extract the extra info when you query the database ....
-- Create a sample table
CREATE TABLE #chill60
(
    ID int IDENTITY(1,1),
    TXT varchar(20)
)
-- insert some sample data (VS2005)
insert into #chill60 select *  from
(select top 10 (char(abs(checksum(NEWID())) % 26 + 65) + CHAR(ABS(CHECKSUM(NEWID())) % 26 + 65)) AS TXT
FROM syscolumns ac1 cross join syscolumns ac2 cross join syscolumns ac3) as a



然后使用这样的东西以你想要的格式恢复数据


Then use something like this to get the data back in the format you want

SELECT 'emp'+replace(str(ID, 7), ' ', '0') as empid, TXT
FROM #chill60



返回


Returns

empid       TXT
emp0000001  VD
emp0000002  AI
emp0000003  AS
emp0000004  EB
emp0000005  XU
emp0000006  UR
emp0000007  IW
emp0000008  IA
emp0000009  YS
emp0000010  US



你可以把''emp''+替换(str(ID,7),'''',''0 '')位到一个函数中,或者甚至有一个数据库触发器,它根据自动递增的ID用这个派生值填充另一个列。使用内置功能而不是试图自己管理ID有很多好处




You could put the ''emp''+replace(str(ID,7), '' '',''0'') bit into a function or even have a database trigger that populates a-n-other column with this derived value based on the auto-incremented ID. There are advantages to using built-in functionality rather than trying to manage the IDs yourself


您好,



检查脚本..

Hi,

Check the Script..
SELECT 'emp'+RIGHT('0000'+CAST((ROW_NUMBER() OVER(ORDER BY EmpID)) AS VARCHAR(10)),4)
FROM EmpDetails



问候,

GVPrabu


Regards,
GVPrabu


这篇关于在sql服务器中自动处理criment id的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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