Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kaskadno brisanje zapisa

[es] :: Access :: kaskadno brisanje zapisa

[ Pregleda: 4427 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dragisarajic
Beograd

Član broj: 61721
Poruke: 4
*.yurail.co.yu.



Profil

icon kaskadno brisanje zapisa20.06.2005. u 10:35 - pre 229 meseci
Imam problem sa brisanjem zapisa iz baze.Radi se o bazi nekretnina.Problem je sledeci:
Zelim da obrisem podatke o nekretnini iz vise tabela.Tabele su: prodavac,opis nekretnine i td.Kada obrisem nekretninu zelim da obrisem i prodavca nekretnine ako je to jedina nekretnina koju prodaje.Unapred zahvalan.Potrebno mi je za diplomski.
 
Odgovor na temu

dragisarajic
Beograd

Član broj: 61721
Poruke: 4
*.yurail.co.yu.



Profil

icon Re: kaskadno brisanje zapisa21.06.2005. u 08:26 - pre 229 meseci
Uspeo sam da resim.Ako se neko bude mucio kao ja resenje je Query koji izgleda malo cudno ali radi:

DELETE * /iz koje se brise
FROM tabela1
WHERE TABELA1.idbr NOT IN (select *
FROM tabela2
where tabela1.idbr = tabela2.idbr);


Potrebno je zatim samo na formi napraviti dugme koje ce pokrenuti nekoliko ovakvih upita.Ako neko ima bolje resenje neka napise.Pozdrav svima.
 
Odgovor na temu

Alter Ego
null
Pančevo

Član broj: 1880
Poruke: 453
*.panet.co.yu.

Sajt: www.tridenet.com


Profil

icon Re: kaskadno brisanje zapisa22.06.2005. u 20:17 - pre 229 meseci
A što to ne odradiš pomoću CASCADE klauzule?
 
Odgovor na temu

dragisarajic
Beograd

Član broj: 61721
Poruke: 4
*.yurail.co.yu.



Profil

icon Re: kaskadno brisanje zapisa23.06.2005. u 08:20 - pre 229 meseci

Bih da sam znao-a i dalje ne znam.Kako to ide?
 
Odgovor na temu

Alter Ego
null
Pančevo

Član broj: 1880
Poruke: 453
*.panet.co.yu.

Sajt: www.tridenet.com


Profil

icon Re: kaskadno brisanje zapisa24.06.2005. u 05:51 - pre 229 meseci
Mislio sam ovako nekako:

Code:

CREATE TABLE nekretnine(

FOREIGN KEY (idProdavca)
REFERENCES prodavci
ON DELETE CASCADE
...
);



Međutim, tek sada sam video da tebi treba brisanje prodavca (a ne nekretnine) samo u slučaju da je to jedina nekretnina koju prodaje (što je malo neobično). Cascade bi obrisao sve “nekretnine” koji referenciraju “prodavca” koji se briše. Dakle to nije to. Ovo bi lepo moglo da se uradi pomoću trigera na nivou rekorda, naravno, kad bi oni postojali u Access-u :) To je prirodno rešenje za ovakav problem. Ovako, ne pada mi na pamet ništa bolje od onoga što si ti napisao.

BTW U prilogu je DSQL triger (za Firebird) koji bi radio ono što želiš.

Prikačeni fajlovi
 
Odgovor na temu

[es] :: Access :: kaskadno brisanje zapisa

[ Pregleda: 4427 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.