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, Maj
Anonim

Ako mi imati više od jedne SQL naredbe 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 greške zbog jednog od SQL izraza, možemo koristiti transakciju u pohranjenoj proceduri.

Samo tako, da li se pohranjene procedure izvode u transakciji?

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

Osim gore navedenog, možemo li koristiti commit u proceduri? Uglavnom, procedure ne treba počiniti . Ako ti počiniti unutar skladišta procedura , ograničavate njegovu ponovnu upotrebu jer pozivalac koji želi da promijeni procedura čini da bude dio veće transakcije ne može jednostavno pozvati procedura direktno.

S tim u vezi, možemo li koristiti transakciju u SQL funkciji?

1 odgovor. Zbog toga transakcije su nepotrebni za sql -server funkcije . Međutim, ti mogu promijeniti transakcija nivo izolacije, na primjer, možete koristiti NOLOCK nagovještaj za postizanje "čitaj nepovezano" transakcija nivo izolacije i čitanje nepovezanih podataka od 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 vrijeme. Ovaj transakcija ima osnovnu ugniježđena transakcija brojač, @@TRANCOUNT. Svaki uzastopni početak transakcija inkrementi the brojač po jedan, svako urezivanje transakcija smanjuje ga za jedan.

Preporučuje se: