Comment créer une clé primaire comme A1/D-M/100000 dans SQL Server 2005 dans Visual Studio 2008?Comment créer une clé primaire en tant que A1/D-M/100000 dans SQL Server 2005?
Répondre
Utilisez varchar(20)
comme type de colonne et générez la valeur de clé primaire à partir du code.
Comment faire ça ....? – user515609
Quand j'utilise. Type de données ..int incrémentielle graine est 100000 et incrément automatique 1 .... mais je veux dans la clé primaire, il montre comme A1/D-M/100000 – user515609
La suggestion d'Adrian est sur place. Je pense que vous n'êtes pas assez à l'aise en SQL pour le faire vous-même, alors peut-être que vous devriez donc plus de lecture sur SQL et VB.NET, et obtenir quelqu'un pour vous aider dans la vraie vie. –
Votre requête n'est pas possible dans SQL Server comme demandé, ce qui me donne envie de vous dire de faire plus de lecture.
Cependant, vous pouvez obtenir quelque chose de similaire en créant une clé primaire dans Visual Basic et en stockant cette valeur dans un champ char
ou varchar
dans SQL, comme suggéré par la réponse d'Adrian Godong.
Cela dit, ce que je ferais si cela était ma base de données, est de créer un PK normal à l'aide int
ou bigint
(selon le nombre de lignes je prévois de magasin), et en utilisant une deuxième colonne comme char
ou varchar
, avec un index approprié, pour stocker les valeurs Ax/D-M/xxxxxx
. Ce que vous voulez faire est de mélanger les règles métier avec les règles de base de données SQL Server, et c'est une très mauvaise idée. SQL ne se soucie pas de l'aspect de vos données, vous ne devriez donc pas le forcer à le faire. Vos règles d'entreprise peuvent changer à tout moment, ce qui serait beaucoup plus facile à gérer si vous utilisez un PK approprié, qui ne repose pas sur une convention de dénomination arbitraire.
Quelles parties de cette clé sont fixes, lesquelles changent d'une ligne à l'autre?
E.g. D'où vient le "A1" ou le "D-M"? Sont-ils les mêmes pour toutes les rangées? Est-ce qu'ils changent de rang en rang ??
Si ces pièces sont fixes, et que le grand nombre au milieu a besoin de changer, vous pouvez:
- définir une colonne de type
ID INT IDENTITY(100000,1)
pour le nombre définir une colonne calculée comme ceci:
ALTER TABLE dbo.YourTable ADD YourPKField AS 'A1/D-M/' + CAST(ID AS VARCHAR(6)) PERSISTED
De cette façon, SQL Server w ould auto-incrémenter votre champ ID
et YourPKField
contiendrait les valeurs:
A1/D-M/100000
A1/D-M/100001
A1/D-M/100002
A1/D-M/100003
....
et ainsi de suite - automatiquement, sans vous faire quelque chose de plus.
Utilisez une ID INTENTION (100000,1) comme clé primaire.
Ajoutez la clé calculée (affichée) où vous en avez besoin (requêtes ...). C'est de la décoration, et en tant que telle, cela fait partie du front-end, pas de vos données.
- 1. Zéro en tant que clé primaire dans SQL Server 2008
- 2. Chaîne en tant que clé primaire?
- 3. Char (4) en tant que clé primaire
- 4. SQL Server: nécessité d'ajouter une clé primaire
- 5. Comment faire pour supprimer une propriété en cluster mais conserver la clé primaire dans une table. SQL Server 2005
- 6. Horodatage en tant que partie de la clé primaire composite?
- 7. Blocage SQL Server 2005 sur la clé
- 8. SQL Server 2005 - comment savoir si un champ est une clé primaire?
- 9. SQL Server ajoute la clé primaire
- 10. Sql Server 2005 violation de clé primaire sur une colonne d'identité
- 11. Comment définir une clé unique dans SQL Server 2005?
- 12. Clé cd SQL Server 2005
- 13. Comment créer une clé primaire d'incrémentation automatique?
- 14. S'il vous plaît me dire comment obtenir le nom de clé primaire dans SQL Server 2005
- 15. Convertir mot-clé dans SQL Server 2005
- 16. NHibernate: utilisation d'un type personnalisé en tant que clé primaire
- 17. mot-clé DISTINCT dans SQL Server 2005
- 18. Comment créer une contrainte composite unique dans SQL Server 2005
- 19. moyen le plus rapide pour retourner une valeur de clé primaire SQL Server 2005
- 20. Modification de la valeur de clé primaire dans SQL Server 2005
- 21. Comment savoir si une certaine valeur existe en tant que clé primaire dans mySql?
- 22. Instruction SQL Question - Comment récupérer les enregistrements d'une table où la clé primaire n'existe pas dans une autre table en tant que clé étrangère
- 23. Impact de changement d'une clé unique dans SQL Server 2005
- 24. Comment répertoriez-vous la clé primaire d'une table SQL Server?
- 25. ROO: comment créer une clé primaire de composition dans l'entité
- 26. Comment créer des modèles de procédure stockée SQL Server 2005 dans SQL Server 2005 Management Studio?
- 27. Sql Type de données pour la clé primaire - SQL Server?
- 28. comment créer une clé primaire composite (annotation de persistance java)
- 29. SQL Server 2005 Comment créer une contrainte unique?
- 30. Erreur SQL Server 2005 récupération de l'enregistrement basé sur la colonne de la clé primaire Datetime
Quelles parties de cette clé sont fixes, lesquelles changent d'une ligne à l'autre? Par exemple. D'où vient le "A1" ou le "D-M"? Sont-ils les mêmes pour toutes les rangées? Est-ce qu'ils changent de rang en rang ?? –