Tema: Re: oracle recursive trigger (Bulk SQL solution)
Autorius: Jornada Del Muerto
Data: 2010-08-13 13:29:47
Tai si sql kishi i triggeri ir viskas.

"BigM" <mindaugask_NOSPAM@centras.lt> wrote in message news:i436js$spv$1@trimpas.omnitel.net...
> Taigi jau aiskino ne karta, kad jis pradinio kodo pakeisti negali. Tad turi 
> susitaikyt su ta salyga, kad i DB ateina elementarus insert into A (id1, 
> id2) values (:id1, :id2). Psio.
> 
> "Jornada Del Muerto" <agiraTrintI@gmx.co.uk> wrote in message 
> news:i436bf$seq$1@trimpas.omnitel.net...
>>    Siaip tai galima ir protinga inserta parasyt visiem absoliuciai 
>> duomenim kad sukurtu visus trukstamus dublius, tuo paciu jis nieko 
>> neinsertins jei antra pora irasu jau bus ir nesigaus jokios rekursijos 
>> aplamai.
>>
>>    MSSQL butu kazkas tokio (taip vadinamas insert is selecto - cia 1 
>> uzklausa, tik turiu iproti kad butu sql suprantamesnis ji smulkyt i daug 
>> eiluciu):
>>
>> Insert Into
>>    A (id1, id2)
>> Select             -- Toliau insertinama selectinamos reiksmes, kaip matai 
>> atbulai kad gaut antra irasa
>>    id2, id1
>> From
>> A
>> Left Join
>> A A1 On A.Id2=A1.Id1 And A.Id1=A1.Id2 -- prijungiama atbulas poras
>> Where
>> A1.Id1 Is Null And A1.Id2 Is Null -- del to visas esamas poras 
>> nufiltruojam kad liktu tik neesamos
>>
>>
>>    Stai ir easy sprendimas viena uzklausa, tik ORACLE SQL persirasyk ir 
>> viskas, pirma kart jei poru daug bus trigeris suveiks daug kartu, bet po 
>> pirmo jo suveikimo jau nebeliks ka insertint paprasciausia + tai sutvarkys 
>> visa lenta ir visada ja laikys tvarkinga.
>