Comment puis-je configurer un champ calculé simple dans SQL Server?
J'ai une table avec plusieurs champs de compte comme ceci:
MAIN_ACCT
GROUP_ACCT
SUB_ACCT
J'ai souvent besoin de les combiner comme ceci:
SELECT MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT
FROM ACCOUNT_TABLE
Je voudrais un champ calculé automatiquement fait cela, donc je peux juste dire:
SELECT ACCT_NUMBER FROM ACCOUNT_TABLE
Quelle est la meilleure façon de le faire?
Je suis à l'aide de SQL Server 2005.
source d'informationauteur JosephStyons | 2009-08-13
Vous devez vous connecter pour publier un commentaire.
Cela va persister une colonne calculée et de meilleures performances en sélectionne qu'un calcul dans la vue ou de l'UDF, si vous avez un grand nombre d'enregistrements (une fois le départ de la création de la colonne qui s'est passé ce qui peut être extrêmement lents et devrait probablement se produire lors de la faible utilisation des temps). Il va ralentir les insertions et mises à jour. Habituellement je trouve une lente insertion ou de mise à jour est la mieux tolérée par les utilisateurs que d'un retard dans un select, sauf si vous obtenez des problèmes de verrouillage.
La meilleure méthode pour faire cela dépendra en grande partie de votre utilisation et de quel type de performance dont vous avez besoin. Si vous n'avez pas beaucoup de documents, ou si la colonne calculée ne sera pas appelé que, souvent, vous ne voulez pas un persisté colonne, mais si vous êtes fréquemment l'exécution des rapports avec tous les enregistrements de l'année ou d'autres grands ensembles de données, vous pouvez trouver le persisté colonne calculée fonctionne le mieux pour vous. Comme pour toutes les tâches de cette nature, la seule façon de savoir ce qui fonctionne le mieux dans votre situation est de tester.
C'est un excellent candidat pour une Vue.
la colonne n'est pas conservée dans la table, sera recréé sur-le-cly à chaque fois que vous y faites référence. Vous pouvez obtenir le même résultat en utilisant une vue. Si vous utilisez le filtrage de prédicats ou de la commande sur la colonne calculée et vous souhaitez ajouter un index sur elle voir Créer des Index sur des Colonnes Calculées.
Bien, vous pouvez créer une vue de l'ACCOUNT_TABLE et de la requête. Ou je crois que vous pourriez créer une fonction définie par l'utilisateur qui pourrait accomplir la même chose.