🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych
2 messages
2 total messages Started by =?UTF-8?Q?Cezary Mon, 01 Jan 2018 14:30
Postgresql rule typ serial
#188592
Author: =?UTF-8?Q?Cezary
Date: Mon, 01 Jan 2018 14:30
29 lines
917 bytes
Mam taki problem, testuje sobie logowanie wpisów do tabeli:


test=# \d zlecenia
                          Table "public.zlecenia"
  Column |  Type   |                       Modifiers
--------+---------+-------------------------------------------------------
  id     | integer | not null default nextval('zlecenia_id_seq'::regclass)
  data   | date    | default (now())::date
  opis   | text    |
Indexes:
     "zlecenia_pkey" PRIMARY KEY, btree (id)
Rules:
     test_rule AS
     ON INSERT TO zlecenia DO  INSERT INTO log (id, uzytkownik, data)
   VALUES (new.id, "current_user"(), now()::date)


Problem jest taki, że pole zlecenia.id przyjmuje wartości z
przeskokiem 2, to samo w tabeli log lecz wartość o 1 większa ;)


Na pewno jest to spowodowane użyciem 'new.id', jak usunę to jest ok.
Jak to zrobić prawidłowo, żeby do tabeli log wstawić adekwatny id?




--
Cezary Grądys <czarekgr@wa.onet.pl>
Re: Postgresql rule typ serial
#188593
Author: irq
Date: Tue, 02 Jan 2018 04:57
11 lines
353 bytes
W dniu poniedziałek, 1 stycznia 2018 14:31:01 UTC+1 użytkownik Cezary Grądys napisał:

> Na pewno jest to spowodowane użyciem 'new.id', jak usunę to jest ok.
> Jak to zrobić prawidłowo, żeby do tabeli log wstawić adekwatny id?

triggerem:
https://www.google.pl/search?q=postgresql+rule+nextval

Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads