2011-03-10 57 views

回答

1

你可以有一個BIGINT IDENTITY列,將生成唯一BIGINT值 - 但他們不是12默認位數....

當然,根據BIGINT IDENTITY,你可以創建一個計算列像這樣的:

ALTER TABLE dbo.YourTable 
    ADD AutoField AS 'XY' + RIGHT('0000000000' + CAST(ID AS VARCHAR(10)), 10) PERSISTED 

這樣一來,你會得到的1,2,3,4 ID(如標識值),並XY0000000001,XY0000000002,等你來計算AutoField列自動值。

這幾乎是我所知的唯一的「自動」一代(除了GUID的 - 但這些都是超過12個字符,而不是數字)。

你在這裏做什麼'?

1

您可以使用bigint身份種子值100000000000

create table T (id bigint identity(100000000000, 1), Col1 varchar(50)) 

,並使用檢查約束來阻止你去遠。

alter table T with check add constraint CK_T_ID check (id<1000000000000)