2010-03-21 6 views
0

J'utilise SQL Server et je veux utiliser la contrainte d'identité dans ceproblème SQL homologue identité du serveur

Je sais comment l'utiliser de la manière suivante

create table mytable 
(
c1 int primary key identity(1,1); 
) 

le code ci-dessus fonctionne très bien, mais ce si je veux la colonne d'identité ont des valeurs comme EMP001, EMP002, ... au lieu de 1,2 ....

Merci à l'avance, Guru

Répondre

4

colonnes d'identité peuvent seulement être des entiers. Si vous voulez "ressembler" EMP001, EMP002, etc, alors c'est simplement un problème d'affichage et non un stockage (c'est-à-dire, vous n'avez pas besoin stocker "EMP001", "EMP002" etc, il suffit de le stocker 1, 2, 3 par une colonne d'identité normale et affichage dans votre application comme "EMP001", "EMP002", etc.)

+0

Merci pour votre soutien mon cher. J'apprécie votre façon de penser. – necixy

2

Créer une colonne calculée qui concatène comme ceci:

'EMP' + RIGHT('00' + CAST(c1 AS varchar(3)), 3)

Sinon, une colonne IDENTITY en tant que clé de substitution est simplement: un nombre sans signification.

Je suppose que vous allez avoir seulement 999 lignes ou y at-il une autre séquence quelque part?

+0

+1 exactement mes pensées :-) –