/ / Aktualizuj wiele wierszy tabeli w kolumnie o różnych wartościach - sql

Zaktualizuj wiele wierszy tabeli w kolumnie o różnych wartościach - sql

Mam wiele wierszy, które muszę zaktualizować i wstawić nazwy klientów. Jak mogę to zrobić w jednym zapytaniu, w przeciwieństwie do wielokrotnego uruchamiania poniższego zapytania z różnymi nazwami?

UPDATE orders
SET cust_name = "Sue"
WHERE p_id = 6

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz użyć czegoś takiego

    UPDATE mytable
SET myfield = CASE other_field
WHEN 1 THEN "value"
WHEN 2 THEN "value"
WHEN 3 THEN "value"
END
WHERE id IN (1,2,3)

Aby uzyskać więcej informacji, sprawdź Zaktualizuj wiele wierszy o różnych wartościach i pojedynczym zapytaniu SQL


0 dla odpowiedzi nr 2

Zasadniczo nie można „t. MySQL, DB2, SQL Server i PostgreSQL nie obsługiwać zapytań, w których różne klauzule WHERE mają zastosowanie do różnych klauzul SET.

Ty też nie musisz. Zwykle można użyć przygotowanej instrukcji z symbolami zastępczymi dla zmiennych, które wykonuje się z listą krotek parametrów. W zależności od języka, adaptera bazy danych i bazy danych może to być wykonane w trybie „wsadowym”, co jest dość wydajne.

Większa precyzja wymaga więcej informacji na temat używanego języka, bazy danych i adaptera bazy danych.