【发布时间】:2010-03-21 09:11:08
【问题描述】:
我正在使用 SQL Server,我想在其中使用身份约束
我知道如何以下列方式使用它
create table mytable
(
c1 int primary key identity(1,1);
)
上面的代码工作正常,但如果我希望标识列的值为 EMP001、EMP002、...而不是 1,2...。
提前致谢, 大师
【问题讨论】:
标签: sql-server-2005 tsql identity
我正在使用 SQL Server,我想在其中使用身份约束
我知道如何以下列方式使用它
create table mytable
(
c1 int primary key identity(1,1);
)
上面的代码工作正常,但如果我希望标识列的值为 EMP001、EMP002、...而不是 1,2...。
提前致谢, 大师
【问题讨论】:
标签: sql-server-2005 tsql identity
标识列只能是整数。如果您希望它“看起来像”EMP001、EMP002 等,那么这只是一个显示问题而不是存储问题(也就是说,您不需要 store "EMP001", "EMP002"等,只需通过普通标识列将其存储为 1、2、3 并在您的应用程序中显示为“EMP001”、“EMP002”等)
【讨论】:
创建一个这样连接的计算列:
'EMP' + RIGHT('00' + CAST(c1 AS varchar(3)), 3)
否则,作为代理键的 IDENTITY 列就是:一个无意义的数字。
我假设你只会有 999 行,还是在某个地方有另一个序列?
【讨论】: