Transakcja SQL - w bazie, czy w programie?

0

Problem jest taki. Przy usunięciu użytkowników chcę im zmienić idgrupy na 0 (będzie to oznaczało, że nie są przypisani do żadnej grupy).
Przy usunięciu grupy muszę wykonać dwa zapytania 1) zmienić idgrupy użytkownikom, 2)usunąć grupę.
Trzeba to pewnie ująć jako transakcja prawda?
Czy taką transakcję powinienem trzymać w bazie jako procedurę, a potem program zamiast wykonywać zapyatnie powinien wywołać procedurę z bazy danych ?

0

Nie, powinieneś rozpocząć i zakończyć transakcję po stronie aplikacji.

1

znaczy się nie ma znaczenia, czy to będą dwa zapytania czy jedna procedura. Znaczenie ma fakt, że nie powinieneś rozpoczynać i kończyć transakcji w procedurze bo po pierwsze jak ktoś inny będzie chciał z niej skorzystać to może się przejechać na wewnętrznym commicie a po drugie za jakiś czas może się okazać, że oprócz tego co robi procedura musisz także zrobić coś jeszcze i wtedy ta transakcja będzie przeszkadzać

0

rozwiazalem to inaczej ;]
ustawilem w bazie on delete set null na powiązaniu z kluczem obcym :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1