[ORACLE]Kursor typu SELECT FOR UPDATE
Hektor - 14-12-2006 16:08
[ORACLE]Kursor typu SELECT FOR UPDATE
Witam !
Gdzies w publikacjach dotyczacych PL SQL'a (Oracle 9.2) wyczytalem, ze jesli deklarujac kursor typy "SELECT FOR UPDATE" pomine wyszczególnienie kolumn to modyfikowac moge dowolna kolumne. W trakcie testowania takiej procedury okazalo sie jednak, ze jesli nie zadeklaruje danej kolumny to niestety nie moge jej aktualizowac. Pytanie: czegos nie doczytalem (tzn. moje lamerstwo) czy mozliwy jest inny powód (narzedzia, ustawienia itp.)
Pozdrawiam Zbigniew Kordan
Lucyna Witkowska - 14-12-2006 16:08
Hektor <zpkzpk@onet.pl> napisa?: > Gdzies w publikacjach dotyczacych PL SQL'a (Oracle 9.2) wyczytalem, ze jesli > deklarujac kursor typy "SELECT FOR UPDATE" pomine wyszczególnienie kolumn to > modyfikowac moge dowolna kolumne. W trakcie testowania takiej procedury > okazalo sie jednak, ze jesli nie zadeklaruje danej kolumny to niestety nie > moge jej aktualizowac. > Pytanie: czegos nie doczytalem (tzn. moje lamerstwo) czy mozliwy jest inny > powód (narzedzia, ustawienia itp.)
Czy w tym kursorze jest z??czenie tabel? Podanie kolumny jest wymagane, zeby wskazac blokowan? tabel?.
Pozdrowienia, LW
Hektor - 14-12-2006 16:08
U?ytkownik "Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> napisa?
> Czy w tym kursorze jest z??czenie tabel? Podanie kolumny jest wymagane, > zeby wskazac blokowan? tabel?.
Owszem, jest ! Czyli to bylo to ?
Zbigniew Kordan
Lucyna Witkowska - 14-12-2006 16:08
Hektor <zpkzpk@onet.pl> napisa?: > > Czy w tym kursorze jest z??czenie tabel? Podanie kolumny jest wymagane, > > zeby wskazac blokowan? tabel?.
> Owszem, jest ! Czyli to bylo to ?
Przeczytalam jeszcze raz i chyba jednak nie rozumiem problemu. SELECT FOR UPDATE blokuje wiersze z kursora dla innych sesji. Ale transakcja, ktora otwarla kursor powinna móc aktualizowac wszystkie kolumny, o ile uzytkownik ma do tego uprawnienia.
Pozdrowienia, LW
ThomasO@cpas.com - 14-12-2006 16:08
Hektor wrote: > Witam ! > > Gdzies w publikacjach dotyczacych PL SQL'a (Oracle 9.2) wyczytalem, ze jesli > deklarujac kursor typy "SELECT FOR UPDATE" pomine wyszczególnienie kolumn to > modyfikowac moge dowolna kolumne. W trakcie testowania takiej procedury > okazalo sie jednak, ze jesli nie zadeklaruje danej kolumny to niestety nie > moge jej aktualizowac. > Pytanie: czegos nie doczytalem (tzn. moje lamerstwo) czy mozliwy jest inny > powód (narzedzia, ustawienia itp.) > > Pozdrawiam > Zbigniew Kordan
>>ze jesli nie zadeklaruje danej kolumny to niestety nie moge jej aktualizowac.<< A jaki blad dostajesz? Thomas
Hektor - 14-12-2006 16:08
U?ytkownik <ThomasO@cpas.com> napisa?
> A jaki blad dostajesz?
Niestety, ?adnego b??du. P?tla przelatuje, rekordy s? aktualizowane ale po zako?czeniu transakcji stan tablicy jest taki jak przed uruchomieniem procedury.
Zbigniew Kordan
ThomasO@cpas.com - 14-12-2006 16:08
Hektor wrote: > U?ytkownik <ThomasO@cpas.com> napisa? > > > A jaki blad dostajesz? > > Niestety, ?adnego b??du. P?tla przelatuje, rekordy s? aktualizowane ale po > zako?czeniu transakcji stan tablicy jest taki jak przed uruchomieniem > procedury. > > Zbigniew Kordan >>zako?czeniu transakcji stan tablicy jest taki jak przed uruchomieniem << Jak zrobiony jest UPDATE statement? Jak jest uruchomiony. (Pl/Sql package, front end program, VB, Java)?
Musisz podac troche wiecej informacji: Normalnie Oracle poda blad jezeli nie moze wykonac plecenia. Jezeli moze to polecenie UPDATE nie moze "zniknac" Z Twoich poprzednich listow, wydaje mi sie, ze masz problem z applikacja ktora ma SELECT statement z wieloma tablicami zawirajacymi kolumny o tych samych nazwach. Po UPDATE statement, Oracle pewnie daje blad ale applikacja go chowa.
Podaj jak uruchomiany jest ten UPDATE statement. Podaj rowniez structury tabel i sam SELECT statement.
Thomas
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.pllubiatowo.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|