2010-10-25 13 views
1

J'ai une table avec deux colonnes {FlatContent, HashedContent}. Maintenant, je veux calculer automatiquement la valeur de hachage de FlatContent quand une nouvelle ligne a été insérée ou une ligne existante a été mise à jour. À ce jour, je n'ai jamais utilisé de déclencheur, donc je ne peux pas le faire par un déclencheur ou une autre approche qui existe pour résoudre ce problème.Calculer la valeur de hachage de la valeur entrée lors de l'insertion ou de la mise à jour à l'aide de SQL Server 2008 par des déclencheurs

Merci si quelqu'un peut me aider;)

Répondre

3

Au lieu d'utiliser un déclencheur, faire un HashedContent persisted computed column dans votre définition de la table.

ALTER TABLE YourTable 
    ADD HashedContent AS HashBytes('SHA1', FlatContent) PERSISTED 
+0

Merci, mais je pense que je ne peux pas utiliser cette fonctionnalité parce que je suis l'utilisation de type de données varbinary et je ne peux pas activer l'option IsPersisted! – Sadegh

+0

@Sadegh: Vous pouvez toujours créer la colonne calculée sans l'option PERSISTED. Vous ne seriez tout simplement pas capable de l'indexer. –

+0

Maintenant, je vais le faire. Merci Joe;) – Sadegh