¿Cómo poner restricciones de clave externa en campos calculados en un servidor SQL?

La Tabla A tiene un campo calculado llamado Computed1. Suspersisted y no nulo Además, siempre se calcula en una expresión que es char (50). También es único y tiene una restricción clave única.

La Tabla B tiene un campo RefersToComputed1, que debe hacer referencia a un valor Computed1 válido.

Intentar crear una restricción de clave externa en RefersToComputed1 de B que haga referencia a A 'Computed1 conduce al siguiente error:

Error SQL01268: .Net SqlClient Data Provider: Msg 1753, Level 16, State 0, Line 1 Column
'B.RefersToComputed1' is not the same length or scale as referencing column 'A.Computed1' in
foreign key 'FK_B_A'. Columns participating in a foreign key relationship must be defined with
the same length and scale.

P: ¿Por qué se crea este error? ¿Se necesitan medidas especiales para claves foráneas para columnas calculadas y, de ser así, cuáles son?

Resumen:

El problema específico surge de los campos calculados, basados en caracteres, que son varchar. Por lo tanto, Computed1 es varchar (50) y no char (50).Es mejor tener un reparto alrededor de la expresión de un campo calculado para forzarlo a un tipo específico. El crédito va a Cade Roux por este consejo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta