Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis danych w dwoch rekordach
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
vailor
Poterzbuje pomocy, pomyslu jak sensownie dokonać zapisu danych ktorych zawarosc jest podzielona i tarfia do dwoch tablic.
Relacja miedzy rekordami poprzez wyroznik w jednym z nich.

np

tablica_1 imie, numer_kolejny_z_tablicy2
tablica_2 numer_kolejny(seriall), nazwisko

chcac zapisac dane w relacji zapisuje nazwisko do tablica_2 i musze pobrać wygenerowny numer_kolejny, z ktorym zapisze imie do tablica_1.

Nie moge szukac zapisanego nazwiska bo nie jest unikalne...

Jakis pomysl, moze to da sie zrobic inaczej..

z gory dzieki
behemot
majac pole serial masz sekwnecje do tego pola. standardowo nazywa sie tablica_2_numer_kolejny_seq (chyba ze nazawales inaczej).
wiec najpierw robisz insert do tablicy tablica_2
  1. INSERT
  2. INTO tablica_2 ("nazwisko") VALUES ('Kowalski');

pozniej robisz takiego oto selecta:
  1. SELECT last_value
  2. FROM tablica_2_numer_kolejny_seq;

a pozniej juz tylko:
  1. INSERT
  2. INTO tablica_1 ("imie","numer_kolejny_z_tablicy2") VALUES ('Jan',last_value);

gdzie wartosc last_value to wartosc zwrocona w 2 zapytaniu.

Pozdrawiam,
behemot
vailor
biggrin.gif Dzieki bardzo, tego szukałem, da sie prosto wykorzystac w funkcji.


Niepokoi mnie tylko czy w hipotetycznej sytuacji przy wielu osobach wprowadzajacych dane, moze zaistniec sytuacja. w ktorej numer seq zostanie pobrany do innego imienia(tablica_1)?


Pozdrawiam
behemot
Witam,

Tutaj pewnosci nie mam. Ale zawsze mozna zastosowac tranzakcje lub napisac funkcje zwracajaca triggera.

Pozdrawiam,
behemot
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.