Update i Lead - błąd

0

Dodałem w tabeli kolumna_4 i chciałbym zrobić do niej UPDATE używając powyższej funkcji LEAD. Jak powinien wyglądać zapis ?

update tabelka SET kolumna_4 = lead(data_godzina) over (partition by pracownik order by data_godzina) - data_godzina
where kolumna_4 is null

Gdzie tu może być błąd ?

1

Użyj cte:

with t as (
select
    tabelka.*
   ,LEAD(data_godzina) over (PARTITION BY pracownik ORDER BY data_godzina) kol
from
    tabelka)

update 
   t
set kolumna4 = kol - data_godzina
where kolumna_4 is null
0
masa_ag napisał(a):

Dodałem w tabeli kolumna_4 i chciałbym zrobić do niej UPDATE używając powyższej funkcji LEAD. Jak powinien wyglądać zapis ?

update tabelka SET kolumna_4 = lead(data_godzina) over (partition by pracownik order by data_godzina) - data_godzina
where kolumna_4 is null

Gdzie tu może być błąd ?

Błąd może być w oczekiwaniu, że to zadziała. Niektóre silniki bazodanowe nie wspierają funkcji analitycznych dla UPDATE. Np. postgres.

1 użytkowników online, w tym zalogowanych: 0, gości: 1