poner - select enum sql
SQL Server equivalente al tipo de datos enum de MySQL? (5)
Encontré este interesante enfoque cuando quería implementar enumeraciones en SQL Server.
El enfoque mencionado a continuación en el enlace es bastante convincente, considerando que todas las necesidades de la base de datos se podrían satisfacer con 2 tablas centrales.
¿SQL Server 2008 tiene un tipo de datos como la enum
de MySQL?
La mejor solución que he encontrado en esto es crear una tabla de búsqueda con los valores posibles como clave principal y crear una clave externa para la tabla de búsqueda.
Las tablas de búsqueda de IMHO es el camino a seguir, con integridad referencial. Pero solo si evitas "Evil Magic Numbers" siguiendo un ejemplo como este: Genera enum desde una tabla de búsqueda de base de datos usando T4
¡Que te diviertas!
No es así Hay un equivalente vago:
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...
Donde el rendimiento importa, aún use los valores difíciles.