Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: rtrobert w Marzec 19, 2014, 20:33:55

Tytuł: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: rtrobert w Marzec 19, 2014, 20:33:55
Witam
Kiedyś tworząc bazę towarów powprowadzałem cech towarów o nazwie długość: xxxx mm - gdzie xxxx to długość w mm tych cech są tysiące poprzypisywane do kilkunastu tysięcy towarów.
Teraz te cechy bardzo przeszkadzają mi w sortowaniu wyników wyświetlania towarów.
Czy jest jakaś możliwość abym usunął z bazy i powiązań nie robiąc tego ręcznie. Może jakiś skrypt sql usuwający cechę z daną frazą, może ktoś podpowie z jakich tabel powywalać bezpośrednio z bazy. Jak do tego podejść?
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: Aldo w Marzec 19, 2014, 20:50:38
Jest taka tabela Tw_CechaTw w której sa zapisane powiązania towarów z cechami. Ja ją wyczyścisz usuniesz cechy z towarów. A póżniej możesz z poziomu Subiekta wyczyścić słownik cech.
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: rtrobert w Marzec 19, 2014, 21:24:02
Dzięki. Już się przyjrzałem tabeli, o której piszesz. Usuwać całe wiersze nie zważając na numer id klucza w pierwszej kolumnie cht_Id. Chodzi o to że jak usunę tylko to co chcę to będę miał spore dziury w numeracji bo nie wszystkie przypisania cech chcę usunąć.

Czy później zamiast ręcznie usuwać cechy ze słownika w subiekcie mogę je usunąć z tabeli sl_CechaTw ?
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: Aldo w Marzec 19, 2014, 22:08:50
Recznie ma tą zaletę, ze jak cecha bedzie powiązana, to nie pozwoli jej usunąć, a z bazy nie pamiętam czy jest taka blokada i możesz zrobić sobie kuku.
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 04, 2019, 12:33:19
Chciałbym oczyścić Słownik "cechy towarów" z ponad 1000 cech które zostały zaimportowane przez integrator do Subiekta. Są to cech symbolizujące kategorię. Budowa/Składnia cechy wg schematu: "kat:xx:xxxxxxx".

Czy możliwe jest hurtowe usunięcie cech ze słownika z poziomu Subiekta, czy muszę oczyścić odpowiednią tabelę w bazie? Jeśli tabelę to proszę o podpowiedź jakiej szukać?

Kolejne pytanie: czy w ogóle mogę cechy ot tak sobie usunąć ze słownika poprzez wyczyszczenie wpisów w tabeli w bazie czy też z poziomu Subiekta? Czy wtedy znikną one także z kart produktów?
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: dkozlowski w Luty 04, 2019, 12:35:26
Skrypt powinien znajdować się na forum, poszukaj. Wszystko można też usunąć z interfejsu użytkownika - najpierw powiązania z towarami, później cechy.
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 04, 2019, 13:38:26
Nie mogę znaleźć wspomnianego skryptu. Szukam od szczegółu (brak skryptu w wynikach) do ogółu (dużo wyników = analiza trochę potrwa).

Czy muszę usuwać "Powiązania cech z towarami"? Nie zostaną usunięte wraz z usunięciem cech?
Najszybciej z interfejsu użytkownika zrobi się to operacjami zbiorczymi na towarach? Czy jest szybsze rozwiązanie?

Tak, wiem, że można usunąć cechy ze słownika z poziomu interfejsu użytkownika, jednak nie zauważyłem aby dało się to zrobić zbiorczo. Przy ponad 1000 cechach potrzebuję rozwiązania hurtowego, czy takowe istnieje z poziomu interfejsu użytkownika?

Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: patrykdvs11 w Luty 04, 2019, 15:01:20
a probowałeś zrobić tak żeby zaznaczyć interesujące cie produkty wszystkie na raz wciasna prawy/zbiorcze/grupy/"Dodaj/usuń ceche"
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: dkozlowski w Luty 04, 2019, 15:15:11
a probowałeś zrobić tak żeby zaznaczyć interesujące cie produkty wszystkie na raz wciasna prawy/zbiorcze/grupy/"Dodaj/usuń ceche"

A przeczytałeś ile jest cech ? Próbowałeś kiedyś wykonać daną operację 2000 razy ? ;)

Zbiorczo można usunąć tylko serwisowo, na przykład takim zestawieniem SQL "select 1 delete from tw_CechaTw delete from sl_CechaTw".
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 04, 2019, 15:16:46
Daniel, dzięki za nazwy tabel.

Czyli wnioskuję, że:
tw_CechaTw - zawiera powiązania cech z towarami
sl_CechaTw - to słowniki cech towarów,

zgadza się?

Napiszę odpowiednie zapytanie sql które zawęzi wyniki do wartości: "kat:xx:xxxxx" aby nie usunąć pozostałych cech.

Pytanie tylko Daniel, czy najpierw powinienem usunąć powiązania cech z towarami (na kartach produktów) czyli tabela: tw_CechaTw?
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: yemet w Luty 04, 2019, 21:25:25
Najpierw musisz kasować z tw_CechaTw. Próba skasowania cechy z sl_CechaTw, która jest przypisana do towaru skończy się niepowodzeniem (klucz obcy to zablokuje). Do tego dochodzą jeszcze właściwości cech towarów, jeśli z nich korzystasz.
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 04, 2019, 21:41:32
Rozumiem. Ogromne dzięki.

Kategorie ze sklepu, które zostały zaimportowane do Subiekta do słownika cech towarów (jako cechy) z tego co kojarzę nie miały nic wspólnego z właściwościami cech towarów, więc moje działania powinny się ograniczyć do tych dwóch tabel i zawartych w nich cechach oraz powiązaniach z towarami.

Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 05, 2019, 09:54:04
Ok. Teraz już wiem, że Subiekt w zestawieniach nie pozwala na DELETE (aby zestawienie rozpoczynało się od DELETE).

SELECT wypluwający mi cht_IdTowar i przyporządkowaną mu ctw_Nazwa sformułowany poprawnie.

W związku z powyższym jakim narzędziem powinienem operować do oczyszczenia tabel, MS SQL Management Studio?

Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: yemet w Luty 05, 2019, 10:43:07
Ok. Teraz już wiem, że Subiekt w zestawieniach nie pozwala na DELETE (aby zestawienie rozpoczynało się od DELETE).

SELECT wypluwający mi cht_IdTowar i przyporządkowaną mu ctw_Nazwa sformułowany poprawnie.

W związku z powyższym jakim narzędziem powinienem operować do oczyszczenia tabel, MS SQL Management Studio?

Management Studio to jedno ale @dkozlowski podał jeszcze jeden sposób:
Zbiorczo można usunąć tylko serwisowo, na przykład takim zestawieniem SQL "select 1 delete from tw_CechaTw delete from sl_CechaTw".
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 05, 2019, 10:45:57
Czyli moje zapytanie z zawężeniem nazw do scematu: "kat:xxxx:xxxxxxx" powinno wyglądać tak?:

SELECT 1
DELETE
FROM tw_CechaTw tw
LEFT JOIN sl_CechaTw sl ON tw.cht_IdCecha=sl.ctw_Id
WHERE ctw_Nazwa LIKE 'kat:%'
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: yemet w Luty 05, 2019, 11:11:23
Czyli moje zapytanie z zawężeniem nazw do scematu: "kat:xxxx:xxxxxxx" powinno wyglądać tak?:

SELECT 1
DELETE
FROM tw_CechaTw tw
LEFT JOIN sl_CechaTw sl ON tw.cht_IdCecha=sl.ctw_Id
WHERE ctw_Nazwa LIKE 'kat:%'

Raczej bardziej tak musisz najpierw to zrobić:
EDIT: robiłem małe poprawki w zapytaniu.

SELECT 1
DELETE tw_CechaTw
FROM tw_CechaTw
INNER JOIN sl_CechaTw ON cht_IdCecha=ctw_Id and ctw_Nazwa LIKE 'kat:%'

I potem jeśli chcesz cechy usunąć:

SELECT 1
DELETE
FROM  sl_CechaTw
WHERE ctw_Nazwa LIKE 'kat:%'

Polecam zrobić kopię bazy i na kopii przetestować to na spokojnie.
Tytuł: Odp: Usunięcie cech przypisanych do towarów
Wiadomość wysłana przez: piotr.en w Luty 06, 2019, 08:45:28
Panowie, wielkie dzięki za sugestie i poprawki!

Zapytania spisały się znakomicie.
Wszystko przebiegło prawidłowo.