Tema: Re: oracle recursive trigger
Autorius: Jornada Del Muerto
Data: 2010-08-13 11:01:07
Nu ir gerai, aktyvuojasi trigeris kadangi buvo:

Insert into A (1,2)

Tau trigeryje reik padaryti:

Insert into A(2,1)

Tik tiesiog atlikti inserta tik tada jei dar nera lenteleje A iraso su 2,1 reiksmem (tavo planuojamom insertint), jei yra nieko nedaryt ir viskas.

Tada 3 triggeris patikrines ras kad duomenys jau yra ir rekursija nutraukiama bus.


"ledasl" <asai@pastas.lt> wrote in message news:i40q6i$af4$1@trimpas.omnitel.net...
> 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.
>>> 
>