Persisted Column, Date et Convert
Si vous tentez de créer une colonne calculée et persistée avec notamment un champe Date (que vous souhaitez convertir en chaine de caractères) vous risquez de rencontrer un problème. Voici un exemple.
Soit la table :

Et la définition donc de la chaine ConcatString, colonne calculée, que l’on veut persistée :

Lors de la sauvegarde, vous avez une vieille erreur qui implique que la définition est non déterministe :

‘Client’ table
- Unable to modify table.
Computed column ‘ConcatString’ in table ‘Client’ cannot be persisted because the column is non-deterministic.
Le problème ne vient pas de la colonne Date, mais plutôt de la fonction Convert, qui elle est non déterministe ![]()
Pour persister cette colonne, pensez à spécifier un format valide (par exemple 112 ou 127) ce qui donne:
![]()
Et là, plus de soucis pour persister la colonne (et accessoirement y mettre un index si nécessaire
)
Attention, tous les formats ne sont pas déterministes, un petit tour sur la BOL peut aider pour déterminer (héhé) le bon type : http://msdn.microsoft.com/en-us/library/ms187928.aspx
Bon déterminisme et persistage à vous ! (hum pas sûr que ce soit Français-Compliant tout ça
)