Pozdrav, treba mi pomoć oko ovog zadatka kod brisanja podataka iz jedne tablice a ujedno i drugih ako je povezan preko foreign key-a.
Napišite proceduru koja prima ID kategorije i briše tu kategoriju
•Ako postoje potkategorijeza tu kategoriju, obrisati i njih
•Ako postoje proizvodi iz tih potkategorija, obrisati i njih
•Ako postoje stavke i računi izdani za te proizvode, obrisati i njih
•Neka sva brisanja budu obavljena kao transakcija s pripadnim TRY/CATCH blokovima i COMMIT/ROLLBACK naredbama.
Napisala sam ovaj kod ali ne znam da li radi ono što je traženo u zadatku:
create proc ObrisiKategoriju
@IDKategorija int
as
begin try
begin tran
delete k from Kategorija k inner join Potkategorija as pk on k.IDKategorija = pk.KategorijaID
inner join Proizvod as p on pk.IDPotkategorija = p.PotkategorijaID
inner join Stavka as s on p.IDProizvod = s.ProizvodID
inner join Racun as r on s.RacunID = r.IDRacun
where k.IDKategorija = @IDKategorija
commit tran
print 'Brisanje uspješno'
end try
begin catch
rollback tran
print 'Greška pri brisanju: ' + error_message()
end catch