Est-ce que SQL Server 2008 a un type de données comme MySQL enum
?SQL Server équivalent au type de données MySQL enum?
Répondre
Ce n'est pas le cas. Il y a un équivalent vague:
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
CREATE FUNCTION ActionState_Preassigned()
RETURNS tinyint
AS
BEGIN
RETURN 0
END
GO
CREATE FUNCTION ActionState_Unassigned()
RETURNS tinyint
AS
BEGIN
RETURN 1
END
-- etc...
Lorsque les questions de performance, utilisent encore les valeurs dures.
La meilleure solution que j'ai trouvée dans ceci est de créer une table de recherche avec les valeurs possibles en tant que clé primaire, et de créer une clé étrangère à la table de recherche.
IMHO Tables de consultation est la voie à suivre, avec l'intégrité référentielle. Mais seulement si vous évitez les « chiffres magiques » Mal en suivant un exemple comme celui-ci: Generate enum from a database lookup table using T4
Have Fun!
J'ai trouvé cette approche intéressante lorsque je voulais implémenter des énumérations dans SQL Server.
L'approche mentionnée ci-dessous dans le lien est assez convaincante, considérant tous vos besoins enum de base de données pourraient être satisfaits avec 2 tables centrales.
Ceci est une variation de l'anti-pattern connu sous le nom "one true (table de recherche) ". L'approche correcte est d'avoir une table séparée pour chaque type d'énumération et d'utiliser des clés étrangères (si vous avez besoin d'une recherche, ce qui peut ne pas être le cas pour les énumérations "pures"). –
Les commentaires sur la page liée fournissent une bonne sauvegarde pour l'utilisation des tables individuelles pour chaque "enum", plutôt que ce que cette réponse spécifie –
Il est assez amusant de voir comment la plupart des gens rechignent à ce design, mais l'auteur nomme son article "Best Practice" . –
- 1. Est-ce que SQL Server 2005 a un équivalent au type de données ENUM de MySql?
- 2. SQL Server équivalent de MySQL UTILISATION
- 3. Création du type de variable ENUM dans MySQL
- 4. Oracle Équivalent du type TEXT de MySQL
- 5. Équivalent T-SQL de PL/SQL% TYPE?
- 6. SQL Server équivalent de Javascript UnEscape
- 7. VB6 équivalent pour le type de données flottant SQL 2K?
- 8. LINQ équivalent au code SQL
- 9. Sql Type de données pour la clé primaire - SQL Server?
- 10. SQL Server: un équivalent de strpos()?
- 11. de type MySQL ENUM vs tables de jointure
- 12. MySQL enum avec hibernate
- 13. Comment obtenir quelque chose de similaire au type de données SERIAL PG dans SQL Server 2008?
- 14. Opérateurs de type de données personnalisés dans Sql Server?
- 15. MySQL: Sélection de données à partir de MS SQL Server
- 16. Qu'est-ce que PostgreSQL est équivalent à SQL Server NVARCHAR?
- 17. Utilisation correcte du type de données XML dans SQL Server?
- 18. Utilisation du type de données XML SQL Server
- 19. Recherche d'une dépendance d'un type de données SQL Server
- 20. Type de données XML SQL Server requête numéro
- 21. Mappage NHibernate pour SQL Server 2008 Hiérarchie Type de données
- 22. SQL Server convertisseur mySQL
- 23. Existe-t-il un équivalent de Redgate SQL Compare pour les bases de données MySQL?
- 24. Sql Server équivalent d'une fonction d'agrégation COUNTIF
- 25. SQL Server équivalent à NULLS FIRST d'Oracle?
- 26. MySQL to SQL Server 2005
- 27. Outil de migration SQL Server vers MYSQL
- 28. Quel type de données utilisez-vous pour les énumérations dans SQL Server
- 29. Can SQL Server effectue une conversion de type au moment de l'exécution
- 30. MySQL colonne ENUM de la colonne anothertable
comment le faire dans SSMS? – EgoPingvina
@EgoPingvina: Vous devriez poser cette question dans une question, pas un commentaire. – chaos