Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapis danych w dwoch rekordach, Poczatkujacy
vailor
post 21.03.2005, 14:42:38
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 21.03.2005

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


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
Go to the top of the page
+Quote Post
behemot
post 21.03.2005, 17:49:19
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Tarnów/Kraków

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


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
Go to the top of the page
+Quote Post
vailor
post 21.03.2005, 18:47:05
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 21.03.2005

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


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
Go to the top of the page
+Quote Post
behemot
post 21.03.2005, 19:22:46
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Tarnów/Kraków

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


Witam,

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

Pozdrawiam,
behemot

Ten post edytował behemot 21.03.2005, 19:22:58
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: 28.04.2024 - 19:28