Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie dokładnie edytowanych danych z SQL Server

Nie będziesz w stanie wykonać dokładnej edycji za pomocą SQL. Potrzebujesz algorytmu takiego jak uniksowy diff na plikach (co działa na poziomie wiersza). Na poziomie postaci algorytm byłby pewną odmianą odległość Levenshtein . Jeśli diff spełnia Twoje potrzeby, możesz go pobrać, napisać przechowywaną procedurę, aby go wywołać, a następnie użyć go w bazie danych. To byłoby dość drogie.

Część twojego pytania o utrzymanie różnych wersji jest znacznie łatwiejsza. Dodałbym dwie kolumny EffDate i EndDate na każdym rekordzie. Najnowszą wersję można pobrać, szukając EndDate is NULL i znajdź wersję aktywną w danym momencie. Merge jest ogólnie przydatne do utrzymywania takiej tabeli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd — przepełnienie SqlDateTime. Musi przypadać między 1.01.1753 12:00:00 a 31.12.9999 23:59:59

  2. W jaki sposób warunki sanitarne, które unikają pojedynczych cudzysłowów, mogą zostać pokonane przez wstrzyknięcie SQL w SQL Server?

  3. Nie widzę wyzwalaczy, które utworzyłem w SQL Server Management Studio 2008

  4. MSSQL Select Top 10 zwycięskich wyników, w tym remisy i co najmniej jeden z każdej kategorii

  5. Błąd:nie można pobrać wiersza od ADsDSOObject dostawcy OLE DB dla serwera połączonego ADSI