Posted By: JiMo (I'm flyiiiiiiing!!!!!!!!!) on 'CZdatabases'
Title:     jeste jeden dotaz
Date:      Mon Jun 23 03:22:43 2003

Ahoj, mam jeste jeden dotaz:

tyka se integritniho omezeni te same databaze, a sice tabulky "endorses".
Jde o to, ze mam 

    endorses (Gourmet, Shop) 
    best_buys (Gourmet, Shop, Cheese) 

a potrebuju tam nacpat, ze k zarazeni do endorses potrebuju, aby alespon jedna 
nabidka obchodu byla zarazena do best_buys. Ale staci jen, aby tam byla 
zarazena ve chvili pridavani do endorses, ne pozdeji - takze zadna trvala 
zavislost, zadne cizi klice.

Zde uz je asi hodne dulezite, na cem to bezi, takze jde o Oracle9 (idelani by 
bylo, kdyby to jelo i pod 8kou, ale neni to nutnost).

Problem je v tom, ze do CHECKu se mi nejak nepodarilo to nacpat a s konstrukci
odpovidajiciho triggeru jsem zatim take nemel stesti.

Mam jeden napad a to je nacpat to do DOMAIN, kde lze v CHECKu delat i tes typu 
VALUE IN SELECT ... , coz mi u definice normalni tabulky rve chybu.

Problem s tim triggerem je, ze netusim, jak docilit u BEFORE triggeru, aby se 
pridani vubec neprovedlo, INSTEAD OF nelze pouzit na tabulku, ale jen na 
pohled a u AFTER jsem zkousel proste dany radek smazat, pokud jsem nenasel 
odpovidajici zaznam, ale to zase nejde, protoze ten trigger si tabulku 
endorses nejak zamkne, kdyz s ni pracuje a tak z ni nemuze mazat (nebo alespon 
tak jsem pochopil ty hlasky, co mi psal).

Mate nekdo nejaky napad? Pripadne je tu nekdo hodne zkuseny, kdo by rekl, ze 
to nejde a dalo by se mu to verit? ;))

Diky moc, preji hezky den

JiMo:)
 

Search the boards