Szymon :
A po jakich insertach nie aktualizuje się ta sekwencja? Może podasz jakieś przykłady?
Po insertach do tabeli zawierającej pole bigserial. Po różnych niestety. Generalnie pole to służy wyłącznie identyfikacji wiersza. Oid odpada, a ponieważ nie potrzebuję numeracji kolejnej, więc myslałem że to rozwiązanie wystarczy. Poniżej tabela:
Jan Raburski
Pokaż insert, który to powoduje! Chociaż jeden!
Stawiam na to, że coś wstawiasz do kolumny nr_zal.
pgsql problem z sekwencją
Jan Raburski Szymon :
A po jakich insertach nie aktualizuje się ta sekwencja? Może podasz jakieś przykłady? Po insertach do tabeli zawierającej pole bigserial. Po różnych niestety. Generalnie pole to służy wyłącznie identyfikacji wiersza. Oid odpada, a ponieważ nie potrzebuję numeracji kolejnej, więc myslałem że to rozwiązanie wystarczy. Poniżej tabela:
Pokaż insert, który to powoduje! Chociaż jeden!
Stawiam na to, że coś wstawiasz do kolumny nr_zal.
Paweł Matejski pisze:
ja też :) czyli że robisz insert taki: INSERT INTO rs_zaleglosci ( nr_zal, typ_dok ) VALUES ( , '_' );
a wtedy to tylko jakby prosić się o problemy.
Pokaż insert, który to powoduje! Chociaż jeden!
Stawiam na to, że coś wstawiasz do kolumny nr_zal.
ja też :) czyli że robisz insert taki: INSERT INTO rs_zaleglosci ( nr_zal, typ_dok ) VALUES ( , '_' );
a wtedy to tylko jakby prosić się o problemy.
Ech, no jasne że nie wstawiam :) Ale poniżej przykład : INSERT INTO rs_zaleglosci (firma_id, typ_dok, wyznacznik_id, data, numer, oddzial_id, rodzaj, kontrahent_id, zamawiajacy_id, platnik_id, kierowca, projekt_id, waluta, kurs, nr_tabeli, data_tabeli, sposob_zaplaty, dni, data_odbioru, termin_zaplaty, handlowiec, sposob_odbioru_faktury, czy_bonus, do_zaplaty, do_zaplaty_wal, opis, numer_z_rs, ureg_kwota) SELECT firma_id, 'F', wyznacznik_id, data, numer, oddzial_id, 'Z', kontrahent_id, zamawiajacy_id, platnik_id, kierowca, projekt_id, waluta, kurs, nr_tabeli, data_tabeli, sposob_zaplaty, dni, data_odbioru, termin_zaplaty, handlowiec, sposob_odbioru_faktury, czy_bonus, do_zaplaty, do_zaplaty_wal, '', numer_z_rs, 0 FROM rs_faktury WHERE I TU WARUNEK
Z definicji tabeli wyrzuciłem sporo pól, stąd mi się nie chcialo :) jr.
Pokaż insert, który to powoduje! Chociaż jeden!
Stawiam na to, że coś wstawiasz do kolumny nr_zal.
ja też :) czyli że robisz insert taki: INSERT INTO rs_zaleglosci ( nr_zal, typ_dok ) VALUES ( , '_' );
a wtedy to tylko jakby prosić się o problemy.
Ech, no jasne że nie wstawiam :) Ale poniżej przykład : INSERT INTO rs_zaleglosci (firma_id, typ_dok, wyznacznik_id, data, numer, oddzial_id, rodzaj, kontrahent_id, zamawiajacy_id, platnik_id, kierowca, projekt_id, waluta, kurs, nr_tabeli, data_tabeli, sposob_zaplaty, dni, data_odbioru, termin_zaplaty, handlowiec, sposob_odbioru_faktury, czy_bonus, do_zaplaty, do_zaplaty_wal, opis, numer_z_rs, ureg_kwota) SELECT firma_id, 'F', wyznacznik_id, data, numer, oddzial_id, 'Z', kontrahent_id, zamawiajacy_id, platnik_id, kierowca, projekt_id, waluta, kurs, nr_tabeli, data_tabeli, sposob_zaplaty, dni, data_odbioru, termin_zaplaty, handlowiec, sposob_odbioru_faktury, czy_bonus, do_zaplaty, do_zaplaty_wal, '', numer_z_rs, 0 FROM rs_faktury WHERE I TU WARUNEK
Z definicji tabeli wyrzuciłem sporo pól, stąd mi się nie chcialo :)
Jan Raburski
To druga możliwość, że w tabeli masz wstawione nr_zal nie z sekwencji. W zasadzie powinno wystarczyć sprawdzenie: select max(nr_zal) from rs_zaleglosci; I porównać z sekwencją.