ďťż
 
[Oracle] - trigger AfterInsert ďťż
 
[Oracle] - trigger AfterInsert
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

[Oracle] - trigger AfterInsert



Krzysztof - 27-05-2006 00:39
[Oracle] - trigger AfterInsert
  Witam
Mam problem w obsludze triggerka AfterInsert na tabeli ZADANIA. Chcialbym w
nim obliczyc ile zadan spelniajacych pewien warunek jest wykonanych i
updatnac pole innej tabeli. Czyli calosc kodu wygladala by tak:

[begin i inne]
select count(z.no) into intIle from ZDANIA where z.typ = :old.typ;
update REJESTR set typ = intIle;
[end;]

i nic wiecej
Problem polega na tym, ze obsluga wyklada sie na przeliczeniu ilosci zadan.
Dlaczego? Czy musze zrobic z tego jakis pakiet, nie moze byc taki kod w
srodku obslugi

Pozdrawiam
Krzysztof





=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 27-05-2006 00:39

  Krzysztof wrote:
> Mam problem w obsludze triggerka AfterInsert na tabeli ZADANIA. Chcialbym
> w nim obliczyc ile zadan spelniajacych pewien warunek jest wykonanych i
> updatnac pole innej tabeli. Czyli calosc kodu wygladala by tak:
Zamiast triggera zrób sobie MATERIALIZED VIEW z opcją REFRESH ON COMMIT.

> Problem polega na tym, ze obsluga wyklada sie na przeliczeniu ilosci
> zadan. Dlaczego?
Wyjasnienie dlaczego jest w komunikacie błędu. Zgaduję, że jest to błąd
"mutating table". Jeśli tak, to przeczytaj to:
http://download-uk.oracle.com/docs/c...htm#sthref1286

--
Michał Kuratczyk




Krzysztof - 27-05-2006 00:39

  > Zamiast triggera zrób sobie MATERIALIZED VIEW z opcją REFRESH ON COMMIT.
Nie mogę, niestety. Poprawiuam trigger juz istniejacy i dodaje do niego nowa
"lepsza" funkcjonalnosc biznesowa

> Wyjasnienie dlaczego jest w komunikacie błędu. Zgaduję, że jest to błąd
> "mutating table". Jeśli tak, to przeczytaj to:
> http://download-uk.oracle.com/docs/c...htm#sthref1286
NO dokładnie, juz czytam

> Michał Kuratczyk
Krzysztof




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 27-05-2006 00:39

  Krzysztof wrote:
> Witam
> Mam problem w obsludze triggerka AfterInsert na tabeli ZADANIA. Chcialbym w
> nim obliczyc ile zadan spelniajacych pewien warunek jest wykonanych i
> updatnac pole innej tabeli. Czyli calosc kodu wygladala by tak:
>
> [begin i inne]
> select count(z.no) into intIle from ZDANIA where z.typ = :old.typ;
> update REJESTR set typ = intIle;
> [end;]
>
> i nic wiecej
> Problem polega na tym, ze obsluga wyklada sie na przeliczeniu ilosci zadan.
> Dlaczego? Czy musze zrobic z tego jakis pakiet, nie moze byc taki kod w
> srodku obslugi

A po co tak kombinujesz? Nie prościej i wydajniej jest po prostu dodać 1
do REJESTR.typ (BTW, czy ten update nie powinien mieć jakiegoś where?)?
--
P.M.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • radioaktywni.htw.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