sql >> Database >  >> RDS >> Sqlserver

De exacte bewerkte gegevens uit SQL Server halen

U kunt de exacte bewerking niet uitvoeren met SQL. Je hebt een algoritme nodig zoals de Unix diff op bestanden (wat werkt op regelniveau). Op tekenniveau zou het algoritme een variatie zijn op Levenshtein-afstand . Als diff aan uw behoeften voldoet, kunt u het downloaden, een opgeslagen procedure schrijven om het aan te roepen en het vervolgens in de database gebruiken. Dit zou nogal duur zijn.

Het deel van uw vraag over het onderhouden van de verschillende versies is veel eenvoudiger. Ik zou twee kolommen toevoegen EffDate en EndDate op elke plaat. U kunt de meest recente versie krijgen door te zoeken naar EndDate is NULL en vind de versie op elk moment actief. Merge is over het algemeen handig voor het onderhouden van een dergelijke tabel.



  1. Oracle uitvoeringsplan

  2. Tool die mySQL-query converteert naar Zend FrameWork-query

  3. Waarom respecteert PL/SQL de door Rollen verleende privileges niet?

  4. Hoe kom ik erachter wanneer een Oracle-tabel de laatste keer is bijgewerkt?