Tengo un tipo de tabla definido en una base de datos. Se usa como un parámetro de valor de tabla en un procedimiento almacenado. Me gustaría llamar a este procedimiento desde otra base de datos, y para pasar el parámetro, necesito hacer referencia a este tipo definido.¿Cómo se usa un tipo de datos (tabla) definido en otra base de datos en SQL2k8?
Pero cuando lo haga DECLARE @table dbOtherDatabase.dbo.TypeName
, me dice que The type name 'dbOtherDatabase.dbo.TypeName' contains more than the maximum number of prefixes. The maximum is 1.
¿Cómo podría hacer referencia a este tipo de tabla?
No funciona :(Si lo hago, me sale "tipo de operando choque: TypeName es incompatible con el nombre de tipo" –
He actualizado mi respuesta con un enlace a un artículo de MSDN que te dice cómo hacerlo –
Esto no funciona. Creo que es como dijo @devio, solo los tipos CLR pueden compartirse entre bases de datos (su enlace no dice esto exactamente, pero podemos entenderlo a partir de esta frase: "Los tipos deben tener el mismo nombre, incluido el mismo nombre CLR, y debe implementarse a través del mismo ensamblado en ambas bases de datos. "). Si realmente es así, ¡los tipos definidos por el usuario parecen chupar! –