ďťż
 
blokowanie rekordu PLSQL ďťż
 
blokowanie rekordu PLSQL
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

blokowanie rekordu PLSQL



Arek - 20-02-2006 14:09
blokowanie rekordu PLSQL
  Czesc
Mam pytanko -jak zablokowac rekord "do zapisu" na czas trwania calej
transakcji.
Probowalem zrobic kursor z parametrem FOR UPDATE ale nie do konca dziala tak
jak chce.
Chce zrobic selecta na jeden konkretny wiersz, jesli istnieje to zablokowac
na nim zmainy na czas trwania transakcji a jak nie ma tego wiersza to go
insertuje.
Gdy mam ten mam kursor i wiersz istnieje to wszystko wporzadku, ale gdy
zapytanie select nic nie zwroci to funkcja nie przechodzi do EXCEPTION when
no data found gdzie ten wiersz moglbym zalozyc

Jak to zrobic?

Z gory dzieki za pomoc





=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 20-02-2006 14:09

  Dnia Sun, 19 Feb 2006 08:23:46 +0100, "Arek" <aa@a.pl> wklepał(-a):

>Czesc
>Mam pytanko -jak zablokowac rekord "do zapisu" na czas trwania calej
>transakcji.
>Probowalem zrobic kursor z parametrem FOR UPDATE ale nie do konca dziala tak
>jak chce.

A jak chcesz?

declare
cursor c_cos (p_id number) is
select 1 from tabela
where id = p_id for update nowait;
begin
open c_cos (10);
if c_cos%found then
begin
-- zmiany
end;
else
begin
insert ...
end;
end if;
close c_cos;
commit;
end;
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych




=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 20-02-2006 14:09

  Dnia Sun, 19 Feb 2006 12:18:56 +0100, Sławomir Szyszło <slaszysz@poczta.onet.pl>
wklepał(-a):

>declare
>cursor c_cos (p_id number) is
>select 1 from tabela
>where id = p_id for update nowait;
n number;
>begin
> open c_cos (10);
-- jeszcze coś
fetch c_cos into n;
> if c_cos%found then
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych




Arek - 20-02-2006 14:09

  >> declare
>> cursor c_cos (p_id number) is
>> select 1 from tabela
>> where id = p_id for update nowait;
> n number;
>> begin
>> open c_cos (10);
> -- jeszcze coś
> fetch c_cos into n;
>> if c_cos%found then

zrobiłem. Wielkie dzięki.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= Jak =?ISO-8859-2?Q?zamieni=E6_dwa_pola_jednej_kolumny_?==?ISO-8859-2?Q?w_dw=F3ch_rekordach_za_pomoc=B1_jednego_zapyt? ==?ISO-8859-2?Q?ania=3F?= [mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?= =?ISO-8859-2?Q?WY=B6wietlenie_rekord=F3w_pocz=B1wszy_od_?==?I SO-8859-2?Q?danej_litery=2E=2E=2E?= =?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?= [pgsql] Akcja w =?iso-8859-2?b?emFsZb9ub7ZjaQ==?= od liczby zmienionych =?iso-8859-1?q?rekord=F3w?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?= [MySQL]: Dodanie zliczania =?ISO-8859-2?Q?rekord=F3w_do_rozb?==?ISO-8859-2?Q?udowanego_zapytania?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • atanvarne633.opx.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com