Skocz do zawartości

Polecenia SQL - czyszczenie transakcji i powiązań z ZK

Polecane posty

@Bartosz Rosa podsuniesz zapytanie SQL, którym mogę:

  1. usunąć powiązania transakcji z ZK w SGT (same ZK mają zostać w SGT)
  2. usunąć wszystkie transakcje (żeby zacząć pobierać transakcje od nowej daty a wszystkie wcześniejsze zniknęły z bazy)

 

Potrzebuję to zrobić zbiorczo, żeby nie bawić się w klikanie.

 

W efekcie końcowym chciałbym otrzymać bazę, w której zostały tylko oferty powiązane z towarami z SGT.

 

Link to postu

Trzeba wyczyścić po pierwsze odwołania do transakcji Sello w bazie Subiekta:

update dok__Dokument set dok_SelloId = NULL, dok_SelloSymbol = NULL, dok_SelloData = NULL

Z usuwaniem transakcji jest gorzej, bo jest tam cała seria powiązanych danych. Próbowałeś to robić programem serwisowym?

Gotowe zapytania tak z głowy nie podam, ale jeśli będziesz to robił za pomocą np SQL Server Management Studio i spróbujesz wykonać polecenie:

delete from tr__Transaction

to SQL będzie wyrzucał błędy, podając nazwę kolejnych tabel, które trzymają powiązania i blokują możliwość usunięcia transakcji. Wystarczy wtedy tylko określić czy tabela jest podlegająca pod transakcję (ma przedrostek tr_) i wtedy usuwasz całą zawartość tej tabeli, czy jest to jakaś inna tabela, np adr__Address, pc__Package, która jedynie referencjonuje i należy z niej usunąć tylko te które są powiązane z transakcjami.

Link to postu

Sprawdzałem na dwóch różnych bazach (firmach), gdzie trochę inaczej jest Sello wykorzystywane.

Firma 1 wyczyściłem:

  • adr__Address
  • delete from tr_Item
  • delete from tr_Group
  • delete from tr__Transaction

Tyle wystarczyło. Jest to jednak młody podmiot, ma transakcje tylko z 3 miesięcy i za dużo się tutaj nie dzieje.

 

Firma 2 - tutaj już musiałem więcej wyczyścić:

  • adr__Address
  • pc_Item
  • tr_Item
  • tr_Group
  • pb_PostBuyFormTransaction
  • em_Source
  • em__Email
  • tr_Property
  • pc_History
  • pc__Package
  • tr__Transaction

Transakcje zniknęły. W programie serwisowym widoczna była jeszcze "historia transakcji". Wyczyściłem przez serwisowy.

 

@Bartosz Rosa da się dla firmy 2 ubrać to w jedno polecenie SQL? Każde z ww robiłem oddzielnie.

 

Gdyby ktoś szukał rozwiązania na zmniejszenie bazy, to można "zamknąć" aktualną bazę z końcem roku, a od stycznia wykonać jej kopię, wyczyścić wszystkie transakcje  stare i nieaktualne oferty. Nie oszczędzi się miejsca na dysku, ale nie trzeba pracować na "kilkudziesięciogigowej" bazie.

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...