Update "Dev" SET "Dev"."Lokalizacja"='Klient' from "Dev" inner join "DevHolder" on ( "Dev"."ID"="DevHolder"."IDDev" AND "DevHolder"."StopDate" IS NULL)
otrzymuje komunikat
Unexpected token FROM in statement from
UPDATE tabela1 , tabela2 SET tabela1.wart='cos' WHERE tabela2.wart2 IS NUL
Nie przyjmuje - nie chce w ogóle przyjąć dwóch tabel - pisze że spodziewa się SET i tyle :/
Jakoś chciałam to zapomocą inner join zrobić ale coś nie chce działać
W składni jest wyraźnie powiedziane: update odnosi się do jednej tabeli, może być wiele modyfikowanych pól, warunek modyfikacji jest jeden.
W Twojej ostatniej propozycji jest inaczej. W ogóle nie jest jasne nawet na poziomie nieformalnym, które rekordy z tabela1 miałyby być modyfikowane.
Update perspektyw i zapytań to rozszerzenie dostępne w niektórych bazach i przy spełnieniu pewnych dodatkowych warunków. Tak że niestety, jeśli modyfikować dwie tabele, to dwoma żądaniami update. Jeżeli są ze sobą związane, to albo * masz zły projekt logiczny tabel, albo ** powinnnaś użyć transakcji, żeby uniknąć kłopotu, kiedy jedno update się wykona, a drugie nie.
No i NUL is not NULL. Ortografia też jest ważna.
JJ LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
UPDATE Authors AS a, AuthorArticle AS ab, Articles AS b
SET AuthorLastName='Wats'
WHERE a.AuthID=ab.AuthID AND ab.ArticleID=b.ArticleID
AND ArticleTitle='AI';
i właśnie o coś takiego mi chodzi tylko dla 2 tabel a nie dla 3.
a chcialam to zrealizować tak za pomocą inner join ...