Estoy trabajando en un proyecto y quiero almacenar información fácilmente enumerada en una tabla. El tipo de datos enum de MySql hace exactamente lo que yo quiero: http://dev.mysql.com/doc/refman/5.0/en/enum.html. ¿Hay un equivalente en SQL Server 2005?¿SQL Server 2005 tiene un equivalente al tipo de datos ENUM de MySql?
Sé que podría almacenar los valores posibles en una tabla de tipos con una clave, pero prefiero no tener que volver a enlazar para obtener descripciones. Nuestros estándares de base de datos no nos permiten vincularnos en campos no enteros o de identificador único, por lo que también se almacena el almacenamiento de las posibles claves como caracteres.
Eso funciona para mí. Hay una preocupación restante: ¿hay una forma fácil de decir qué valores válidos son para la enumeración sin seleccionar la restricción? Entiendo que no es así y tendré que tomar una decisión basada en eso. –
No estoy seguro de lo que quiere decir con "seleccionar" la restricción, pero es posible que pueda envolver los resultados de esta consulta del sistema en algo utilizable para sus necesidades. Seleccione la definición de sys.check_constraints donde [name] = 'yourConstraintName' – Nikki9696
Para las restricciones ENUM y CHECK, puede consultar tablas del sistema y obtendrá una cadena con la sintaxis completa que especifica la lista de valores. Luego tiene que analizar eso para obtener la lista en un formato utilizable. Es bastante incómodo consultar los metadatos como si se tratara de datos. –