Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odwoływanie się do elementów tabel
Forum PHP.pl > Forum > Bazy danych > Oracle
zenek_1234
Witam


Mógłby mi ktoś powiedzieć w jaki sposób mogę odwołać się do danego rekordu tabeli i zmienić w nim jedno pole, np:

Mam tabelę KIEROWCY, gdzie znajdują się pola IMIE, NAZWISKO, REJESTRACJA. Mam w tabeli 5 kierowców i chciałbym wybrać sobie kierowcę nr 3 i zmienić mu rejestrację. Prosiłbym o możliwie szybką odpowiedź.

Z góry dziękuję.
d3ut3r
  1. UPDATE kierowcy
  2. SET rejestracja = 'xxxx3'
  3. WHERE id = 3;
zenek_1234
Dzięki za szybką odp. Ale jeżeli nie mam przypisanego id, nie ma możliwości odniesienie się w inny spoób? Chodzi o to,że mam dwie tabele:

1. SAMOCHODY
2. KIEROWCY

W tabeli SAMOCHODY znajduje się kolumna STAN (może być TRASA albo GARAZ). Chcę zrobić procedurę, która wybierze wszystkie samochody, które mają stan GARAZ i przypisze ich numery id (ID_SAMOCHOD) do tabeli KIEROWCY (w tabeli kierowcy znajduje się kolumna ID_SAMOCHOD określająca, które auto zostało przypisane kierowcy). Mam taką procedurę:

  1. create or replace procedure "PRZYDZIEL_AUTO"
  2. (param1 IN VARCHAR2)
  3. is
  4.  
  5. cursor kursor3 is
  6. select ID_SAMOCHOD
  7. from SAMOCHOD
  8. where STAN='GARAZ';
  9.  
  10. number1 number;
  11.  
  12. begin
  13. open kursor3;
  14. for iterator in 1..6 LOOP
  15. fetch kursor3 into number1;
  16. UPDATE KIEROWCY SET ID_SAMOCHOD=number1 ;
  17. end loop;
  18. close kursor3;
  19.  


Tylko, że UPDATE leci po wszystkich rekordach i ostatecznie przypisuje wszystkim kierowcom ostatnie auto. Załóżmy,że mamy 6 samochodów i 5 kierowców - chciałbym,żeby auto nr 1 przypisać kierowcy nr 1 , auto nr 2 kierowcy nr 2, gdy auto nr 3 będzie miało stan TRASA to kierowcy nr 3 przypisać auto nr 4 itd.
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.