Možemo li koristiti transakciju u pohranjenoj proceduri?
Možemo li koristiti transakciju u pohranjenoj proceduri?

Video: Možemo li koristiti transakciju u pohranjenoj proceduri?

Video: Možemo li koristiti transakciju u pohranjenoj proceduri?
Video: Kako ZAUVIJEK ukloniti VIŠAK MOKRAĆNE KISELINE IZ ORGANIZMA na prirodan način ? 2024, Svibanj
Anonim

Ako mi imati više od jednog SQL izraza u izvršavanju u pohranjena procedura i mi želite vratiti sve promjene koje je izvršio bilo koji od SQL izraza u slučaju da je došlo do pogreške zbog jednog od SQL izraza, možemo koristiti transakciju u pohranjenoj proceduri.

Samo tako, izvode li se pohranjene procedure u transakciji?

Ugniježđeno pohranjene procedure su pogubljen u transakcija kontekst najudaljenijeg pohranjena procedura . Ovo je zadana postavka. Pruža gore opisano zadano ponašanje. To jest, svi SQL izrazi u a izvršavanje pohranjene procedure kao samac transakcija blok.

Osim gore navedenog, možemo li koristiti commit u proceduri? Općenito, postupci ne bi trebao počiniti . Ako ti počiniti unutar pohranjenog postupak , ograničavate njegovu ponovnu upotrebu jer pozivatelj koji želi promjene postupak čini da bude dio veće transakcije ne može jednostavno nazvati postupak direktno.

S obzirom na to, možemo li koristiti transakciju u SQL funkciji?

1 odgovor. Zato transakcije su nepotrebni za sql -poslužitelj funkcije . Međutim, ti limenka promijeniti transakcija razinu izolacije, na primjer, možete koristiti NOLOCK savjet za postizanje "čitaj nepovezano" transakcija razinu izolacije i čitanje nepovezanih podataka s drugih transakcije.

Možemo li koristiti ugniježđene transakcije u SQL-u ako da, kako onda?

SQL Server zapravo ne podržava ugniježđene transakcije . Postoji samo jedan transakcija u jednom trenutku. Ovaj transakcija ima osnovnu ugniježđena transakcija brojač, @@TRANCOUNT. Svaki uzastopni početak transakcija prirasta the brojač po jedan, svako urezivanje transakcija smanjuje ga za jedan.

Preporučeni: