debo hacer UDT basados en código no uso, ya que no creo que la complejidad adicional garantiza las ventajas. I do use UDT T-SQL porque hay muy poca complejidad adicional, por lo que las ventajas valen la pena. (Nuestro agradecimiento a Marc_s para señalar que mi post original era incompleta!)
En cuanto a los UDT basadas en código
creo que de esta manera: si su proyecto tiene un componente de código administrado (su aplicación) y un componente de base de datos (SQL Server) ¿qué ventaja real obtiene al definir código administrado en la base de datos? ¿En mi experiencia? Ninguna.
La implementación es más difícil porque tendrá que agregar ensamblajes a su implementación de base de datos y modificar estos ensamblajes, agregar archivos, etc. dentro de SQL Server. También tendrá que encender el CLR en SQL Server (no es un gran problema, pero nadie me ha demostrado que esto no tendrá una penalización de rendimiento/memoria). Al final, tendrás exactamente lo que hubieras tenido si simplemente hubieras diseñado esto en el código de tu aplicación. Puede haber alguna mejora en el rendimiento, pero realmente me parece un caso de optimización prematura, especialmente porque no sé si el rendimiento general de sufre debido a que el CLR está activado o desactivado.
Nota: supongo que utilizará el CLR de SQL Server para definir sus tipos. HLGEM habla de SQL Server 2000 pero no estoy familiarizado con 2000 y pensé que solo tenía UDF y no UDT en dlls definidos externamente (pero no me cité ... ¡Realmente no estoy familiarizado con esto!).
Con respecto a T-SQL UDT
T_SQL UDT se puede definir en SQL sola (vaya a "Programación | Tipos | definidos por el usuario Tipos de datos" en SQL Server Management Studio). Para los UDT estándar I sería de hecho recomendaría que los domines. Son bastante fáciles y pueden hacer que su DDL sea más autodocumentado y pueden imponer restricciones de integridad. Por ejemplo, defino un "Tipo de género" (char (1), no anulable, sosteniendo "M" o "F") que asegura que solo se permiten datos apropiados en el campo Género.
Los UDT son bastante fáciles en general, pero this article da un buen ejemplo de cómo llevarlo al siguiente nivel al definir una Regla para restringir los datos permitidos en su UDT.
Cuando respondí originalmente esta pregunta me fijé en la idea de los tipos complejos definidos por código (golpea la palma en la frente). Entonces ... gracias Marc.
enfoque manual, pero me salvaron la vida útil: conexión de referencia: http://stackoverflow.com/questions/1383494/alter-user-defined-type-in-sql-server –