Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z CURRVAL
Forum PHP.pl > Forum > Bazy danych > Oracle
hombrerro
Czesc

Mam problem z pobraniem wartosci CURRVAL z sekwencji
korzystam z php 4.3.2, ORACLE 8.0 oraz funkcji ora a nie oci8

blad pojawia sie przy probie odczytu CURRVAL za pomoca funkjci


  1. <?php
  2.  
  3. function get_sequence($conn,$seq){
  4. ora_commitoff($conn);
  5. $query = &#092;"SELECT \".$seq.\".CURRVAL FROM DUAL\";
  6. $cursor = ora_open($conn);
  7. ora_parse($cursor, $query);
  8. ora_exec($cursor);
  9. @ora_fetch($cursor);
  10. @$data = ora_getcolumn($cursor, 0);
  11. return $data;
  12. }
  13.  
  14. ?>



bład wyglada tak:

Warning: Ora_Exec failed (ORA-08002: sekwencja AUTO_INC.CURRVAL nie jest jeszcze zdefiniowana w tej sesji -- while processing OCI function OEXEC/OEXN)

Sekwencja auto_inc istnieje na pewno, przy odczycie NEXTVAL nie ma problemow

A wiec w czym jest problem?
Method
hmm moze troche teoretyzuje ale wiesz po sesji jestem swiezo smile.gif
jak wywolujesz nextvala to rejestrujesz go jednoczesnie w sesji tworzac go, currvala zas nie ma.
klepnij funkcje w sqlce zwracajaca currvalla - to takie obejscie problemu
SongoQ
Dokladnie tak jest jak opisal @Method, zeby wyciagnac currval to musisz w tej sesji zwiekszyc sekwencje, inaczej zawsze bedzie blad. A dlaczego nie chesz uzyc nextval??
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.