![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Proszę i pomoc. Mam dwie tablice w Oracle, w których są pola z identyfikatorem zwiększającym się o 1 za kazym wpisem nowej pozycji. Chodzi o to aby pobierać jednocześnie maxymalną wartość z tych dwóch tablic, wybierać maxymalną wartość i zwiększać ją o jeden. Chciałabym aby te pola były unikatowe. A oto jak napisałam funkcję, którą nie wiem jak dokończyć:
[php:1:9306e7b584]<?php function GetIdDK() { $NextIdKD = 0; $connection = OCILogon ("bis", "bis", "zzz"); if ($connection == false) { echo OCIError($connection)."<BR>"; exit; } $query = "SELECT max(ID) FROM zz_kom"; $cursor = OCIParse ($connection, $query); if ($cursor == false) { echo OCIError($cursor)."<BR>"; exit; } $result = OCIExecute ($cursor); if ($result == false) { echo OCIError($cursor)."<BR>"; exit; } if (OCIFetchInto ($cursor, $values)) { $NextIdKom = $values[0]; } $query = "SELECT max(ID) FROM zz_dru"; $cursor = OCIParse ($connection, $query); if ($cursor == false) { echo OCIError($cursor)."<BR>"; exit; } $result = OCIExecute ($cursor); if ($result == false) { echo OCIError($cursor)."<BR>"; exit; } if (OCIFetchInto ($cursor, $values)) { $NextIdDru = $values[0]; } // teraz mam 2 dane z dwóch tabel jak wybrać tą maksymalną, aby powiększyć ją o jeden? tu chyba musi być pętla while OCILogoff ($connection); return $NextIdKD; } ?>[/php:1:9306e7b584] bardzo proszę o pomoc, będę bardzo wdzięczna |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam w tej chwili oracla aby to przetestowac ale sprawdz takie zaptanie:
[sql:1:bd97d16a2c]SELECT GREATEST(query1.max1, query2.max2) FROM (SELECT MAX(pole1) as max1 FROM tabela1) query1, (SELECT MAX(pole2) as max2 FROM tabela2) query2[/sql:1:bd97d16a2c] Dzieki nie mu nie bedziesz musial pisac zadnych funckji w PHPie tylko odrazu uzyskasz najwieksza wartosc z dwoch najwiekszych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Oczywyscie pole1, pole2, tabela1 i tabela2 sa do zmiany na odpowiednie wartosci (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Edit: Wzasadzie to odrazu mozesz wrzucic ta wartosc do tabeli dajac INSERTa i nie musisz wsylac kolejnej kwerendy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 13:40 |