Je souhaite créer une colonne calculée persistante dans une table afin de pouvoir l'utiliser dans le cadre d'une relation de clé étrangère avec une autre table.Comment spécifier la largeur d'une colonne varchar calculée?
Je ces tableaux:
événements (EventID UNIQUEIDENTIFIER, EventCode varchar (8)) - EventCode est une colonne discriminante
Parties (EventID uniqueidentifier)
... et je veux pour ajouter une colonne EventCode à "Parties" afin que la contrainte de clé étrangère puisse inclure les deux colonnes.
J'ai essayé ceci:
ALTER TABLE Parties ADD EventCode AS 'PARTY' PERSISTED
Mais qui ajoute la colonne comme, je ne sais pas, char (5) ou quelque chose (puisque le type de la colonne est déduit de l'expression). Donc, je ne peux pas le relier à Events.EventCode parce que les deux colonnes ont des largeurs différentes.
Existe-t-il un moyen de spécifier la largeur d'une colonne calculée, ou devrais-je le faire (ce qui semble moche mais je pense que ça va marcher)?
ALTER TABLE Parties ADD EventCode AS CAST('PARTY' AS varchar(8)) PERSISTED
Merci mrdenny. Décevant, mais je suppose que c'est seulement un coup unique quand il crée la ligne depuis qu'elle est persistante. –