Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][PostgreSQL]Wprowadzanie danych transakcją
dariolee
post 4.04.2011, 13:07:30
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 18.04.2007

Ostrzeżenie: (0%)
-----


Witam,
Mam w bazie tabele z kluczami obcymi:

Tabela Decyzja
id, nr_decyzji, imie_nazwisko, id_szczegoly(klucz obcy tabeli szczegoly), id_szcz_zaplaty(klucz obcy tabeli szczegoly zaplaty)

Tabela Szczegoly
id, szcz_1, szcz_2 itp.

Tabela Szczegoly_zaplaty
id, szcz_zap_1, szcz_zap_2 itp.


Wprowadzam dane do tabel za pomocą transakcji:
  1. ...
  2. INSERT INTO Szczegoly ....
  3. INSERT INTO Szczegoly_zaplaty ....
  4. INSERT INTO Decyzja ....
  5. ...


I moje pytanie, jaka jest dobra praktyka, żeby wyciągnąć jaki numer id został nadany dla danych wprowadzonych do tabeli Szczegoly i Szczegoly_zaplaty ?

Póki co robiłem zaraz po wprowadzeniu danych odpytywanie jaki jest ostatni numer id nadawanego za pomocą sekwencji:
  1. SELECT last_value FROM szczegoly_id_szcz_seq;


Ale to chyba nie najlepsze rozwiązanie. Jak będzie się wprowadzało sporo danych w tym samym czasie, można zczytać nie swój numer sekwencji.

Czy można przy wprowadzaniu danych wyciągnąć jaki nr id został nadany ?



Go to the top of the page
+Quote Post
yevaud
post 4.04.2011, 13:37:05
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


currval

Return the value most recently obtained by nextval for this sequence in the current session.
Go to the top of the page
+Quote Post
dariolee
post 4.04.2011, 14:17:37
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 18.04.2007

Ostrzeżenie: (0%)
-----


Thx smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:04