sql >> Base de Datos >  >> RDS >> Sqlserver

Obtener los datos editados exactos de SQL Server

No podrá hacer la edición exacta usando SQL. Necesita un algoritmo como Unix diff en archivos (que funciona en el nivel de línea). A nivel de carácter, el algoritmo sería una variación de distancia de Levenshtein . Si diff satisface sus necesidades, puede descargarlo, escribir un procedimiento almacenado para llamarlo y luego usarlo en la base de datos. Esto sería bastante caro.

La parte de su cuestión de mantener las diferentes versiones es mucho más fácil. Agregaría dos columnas EffDate y EndDate en cada registro. Puede obtener la versión más reciente buscando EndDate is NULL y encontrar la versión activa en cada momento. Merge es generalmente útil para mantener una tabla de este tipo.