• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Update bazy danych

+1 głos
181 wizyt
pytanie zadane 30 czerwca 2017 w SQL, bazy danych przez BeFree Początkujący (380 p.)
Hej

W jaki sposób przeprowadza się duże updaty na bazie danych?

Np. aktualizacja kilkuset rekordów?

Czy jest jakiś inny sposób niż pisanie mozolnie:

update...;

update...;

itd. osobno dla każdego rekordu?

2 odpowiedzi

+3 głosów
odpowiedź 30 czerwca 2017 przez CjanciK Bywalec (2,930 p.)

Witaj,

To zależy czego oczekujesz po UPDATE. Jeżeli chcesz zaktualizować całą kolumnę tymi samymi wartościami to po prostu w UPDATE nie używasz WHERE. Natomiast kiedy chcesz zaktualizować sobie rekordy innymi wartościami i sprawa się komplikuje.

Ja robię to w ten sposób że wyrzucam tabelę do Excela i zmieniam w tabeli wartości które chcę zmienić ,np mam tabelę:

  A B
1 wartoscA wartoscB
2 wartoscC wartoscD

Chcę zmienić wartoscA na wartoscE, a wartoscD na wartoscF to zmieniam wartości w tabeli i dodaje kolumne z UPDATE, czyli:

  A B C
1 wartoscE wartoscB ="UPDATE moja_tabela SET a="&A1&", B="&B2&"
2 wartoscC wartoscF  

W kolumnie C mam formułę którą przeciągam do końca tabeli, kopiuje wszystkie UPDATE do SQL daje Execute i tabelka zaktualizowana :)

Mam nadzieję, że to może w jakim stopniu pomoże :)

pzdr

komentarz 30 czerwca 2017 przez BeFree Początkujący (380 p.)

Dzięki za odpowiedź!

Moja sytuacja jest nieco inna.

Taki przykład:
Mam dwie tabele: tabela A i tabela B. Chcę zaktualizować wartości jednej kolumny w tabeli A, ale każda wartość, którą chcę zaktualizować zależna jest od pewnej wartości z tabeli B.
Moja komenda wygląda tak:

 

UPDATE up SET
    A.NazwaProduktu = 'Jakaś wartość'
FROM B.ListaProduktów
    JOIN A.MagazynProdukty up ON B.MagazynIDProduktu = A.IDProduktu
    WHERE B.MagazynIDProduktu = A.IDProduktu AND B.KodProduktu = 'jakiśkod';

 

Czy mogę zrobić update prościej, bez pisania osobnego update dla każdego rekordu? :)

 

komentarz 30 czerwca 2017 przez CjanciK Bywalec (2,930 p.)
Pokaż strukturę bazy :)
komentarz 30 czerwca 2017 przez BeFree Początkujący (380 p.)

Sory trochę namieszałem w tym zpytaniu . Jeszcze raz
 

UPDATE up SET
    MagazynProdukty.NazwaProduktu = 'Jakaś wartość'
FROM ListaProduktów
    JOIN MagazynProdukty up ON ListaProduktów.IDProduktu= MagazynProdukty.IDProduktu
    WHERE ListaProduktów.IDProduktu= MagazynProdukty.IDProduktu AND ListaProduktów.KodProduktu = 'jakiśkod';

Piszę z głowy. Teraz myślę że struktura jest przerzysta:)

komentarz 30 czerwca 2017 przez CjanciK Bywalec (2,930 p.)
Którą tabelę chcesz zaktualizować ?

W update podajesz tabele "up", a w set ustawiasz kolumnę z tabeli MagazynProdukty.

Najlepiej jakbyś wrzucił w jakims .jpg struktruę Twojej bazy.
+2 głosów
odpowiedź 30 czerwca 2017 przez Boshi VIP (100,720 p.)
Tak, daje się update bez warunku.

Podobne pytania

0 głosów
1 odpowiedź 71 wizyt
pytanie zadane 28 stycznia w SQL, bazy danych przez Drax Użytkownik (630 p.)
0 głosów
2 odpowiedzi 81 wizyt
pytanie zadane 21 listopada 2018 w SQL, bazy danych przez progNewbie Użytkownik (780 p.)
0 głosów
3 odpowiedzi 116 wizyt
pytanie zadane 17 października 2018 w SQL, bazy danych przez Greeenone Stary wyjadacz (10,960 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

63,168 zapytań

109,404 odpowiedzi

228,555 komentarzy

42,695 pasjonatów

Przeglądających: 62
Pasjonatów: 1 Gości: 61

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...