Tema: Re: oracle recursive trigger
Autorius: ledasl
Data: 2010-08-12 15:41:54
yra table A (id int, reverse int)

daro komanda insert into A (1, 2)
trigeryje, reikia kad padarytu insert into A(2, 1)

o ciklas gaunasi butent ant to insert into A(2, 1), nes anie duomenys dar 
nepakomitinti ir nematomi, o sitas insertas vel iskviecia ta pati trigeri.

"Jornada Del Muerto" <agira@TRINTIgmx.co.uk> wrote in message 
news:i40pm1$9mm$1@trimpas.omnitel.net...
>    Neesu specas del oraklo, bet su rekursijom teke nemazai susidurt, 
> logiskai mastant:
>
>    1. Jeigu vyksta insert -> aktyvuot triggeri;
>    2. Trigeris atlieka insert --> GOTO 1.
>
>    Tu cia padarai greiciausia amzina cikla, nors nezinau salygu, jei tau 
> reikia tik 1 lygio triggerio, tai teks mastyti buda tai patikrinti, 
> kazkokia logika, speju kai insertini su trigeriu kazkoki nauja irasa del 
> to kad vyko insertas, tas kuriamas irasas igauna kazkoki reference ID to 
> iraso del kurio suveike triggeris, jeigu taip tai sukurt lentele kurioje 
> butu tokiu insertinamu reference ID ir tada triggeris tikrinasi per ja ar 
> ten nera tokio ID, jei randa tai neatlieka inserto ir nutraukia amzina 
> cikla, o tuos ID poto gali valyt, dar cia tranzakcija nekenktu.
>
>
>
> "ledasl" <asai@pastas.lt> wrote in message 
> news:i40nl5$70m$1@trimpas.omnitel.net...
>> Sveiki,
>>
>> ar imanoma ant oracle 10g trigeryje nustatyti kurio lygio rekursijoj jis
>> yra?
>> Problema, kad reikia ideti i lentele insert'o metu ideti dar viena irasa,
>> tai darant per insert trigeri gaunasi gilus ciklas iki kol numirsta del 
>> per
>> gilios rekursijos.
>> Kadangi irasa reikia prideti tik viena, zinant rekursijos gyli galima
>> sustabdyti ir toliau nebeiterpinteti, bet neaisku, kaip gauti kuriam 
>> dabar
>> iskvietime tas trigeris yra.
>> diseiblinti pacio trigerio neleidzia, nei is jo, nei is iskvieciamos
>> proceduros, ar funkcijos.
>>