Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Obtenir les données modifiées exactes de SQL Server

Vous ne pourrez pas faire l'édition exacte en utilisant SQL. Vous avez besoin d'un algorithme tel que le diff Unix sur les fichiers (qui fonctionne au niveau de la ligne). Au niveau du personnage, l'algorithme serait une variation de distance de Levenshtein . Si diff répond à vos besoins, vous pouvez le télécharger, écrire une procédure stockée pour l'appeler, puis l'utiliser dans la base de données. Ce serait plutôt cher.

La partie de votre question concernant le maintien des différentes versions est beaucoup plus simple. J'ajouterais deux colonnes EffDate et EndDate sur chaque enregistrement. Vous pouvez obtenir la version la plus récente en recherchant EndDate is NULL et trouver la version active à tout moment. Merge est généralement utile pour maintenir une telle table.