2013-03-08 3 views
3

я так запутать я хочу идентификатор сотрудника автоматически генерировать с форматом префикса я знаю, что можно еще до запуска в SQL сервере я следовать на пост http://www.aspdotnet-suresh.com/2012/04/set-custom-auto-generatedincrement.htmlидентификатор сотрудника автоматического генерирования с приставкой

USE [test1] 
GO 

/****** Object: Table [dbo].[Users] Script Date: 03/08/2013 12:28:08 ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

CREATE TABLE [dbo].[Users](
    [UserId] [varchar](50) NOT NULL, 
    [UserName] [varchar](50) NULL, 
    [LastName] [varchar](50) NULL, 
    [Location] [varchar](50) NULL, 
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED 
(
    [UserId] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF 
GO 

И дисплей

UserId UserName LastName Location 
08U13000 SureshDasari Dasari Chennai 
08U13001 SureshDasari Dasari Chennai 
08U13002 SureshDasari Dasari Chennai 
08U13003 SureshDasari Dasari Chennai 
08U13004 SureshDasari Dasari Chennai 
08U13005 SureshDasari Dasari Chennai 
08U13006 SureshDasari Dasari Chennai 
08U13007 SureshDasari Dasari Chennai 
08U13008 SureshDasari Dasari Chennai 
08U13009 SureshDasari Dasari Chennai 
08U13010 SureshDasari Dasari Chennai 
08U13011 SureshDasari Dasari Chennai 
08U13012 SureshDasari Dasari Chennai 
08U13013 SureshDasari Dasari Chennai 
08U13014 SureshDasari Dasari Chennai 
08U13015 SureshDasari Dasari Chennai 

How to automatically create the primary key that has the following series A001000001 ... A001xxxxxx in SQL?

б у я хочу сделать это с вкладыша, прежде чем триггер и этим триггером работой в одной таблице и одной строки экс -

и USERID автоматического создания? как --08U13015,08U13014

я делал это с вкладыша в вставленную таблицу, но ошибка не может вставить в вставленной или удаленной таблице
или любой другой метод пожалуйста, помогите мне заранее спасибо

+1

Ответ на вопрос вы связаны, имеет решение для Вас. Почему вы не можете использовать это? Столбец идентификатора, который используется в столбце с постоянным первичным ключом. –

ответ

1

Ответ предоставляется по @marc_s в вопросе - способ сделать это.

В вашем случае это будет выглядеть следующим образом:

create table Users 
(
    Id int identity (3000, 1), 
    UserId as '08U1'+right('0000'+cast(Id as varchar(5)), 5) persisted, 
    UserName varchar(50), 
    LastName varchar(50), 
    Location varchar(50), 
    constraint PK_Users primary key (UserId) 
) 

Я бы не сделать это, как предложил here. У вас будут дубликаты, если вы когда-нибудь удалите строку или в случае параллелизма.

SQL Fiddle

Смежные вопросы