Биз сакталган процедурада транзакцияны колдоно алабызбы?
Биз сакталган процедурада транзакцияны колдоно алабызбы?

Video: Биз сакталган процедурада транзакцияны колдоно алабызбы?

Video: Биз сакталган процедурада транзакцияны колдоно алабызбы?
Video: Java Tech Talk: Telegram бот на java за 1 час 2024, Май
Anonim

Эгерде биз ичинде аткарылып жаткан бирден ашык SQL билдирүүлөрү бар сакталган процедура жана биз SQL билдирүүлөрүнүн биринен улам ката пайда болгон учурда, SQL билдирүүлөрүнүн бири тарабынан жасалган бардык өзгөртүүлөрдү артка кайтарууну кааласаңыз, биз транзакцияны сакталган процедурада колдоно алабыз.

Ошентип, сакталган процедуралар транзакцияда иштейби?

Уюшкан сакталган процедуралар болуп саналат аткарылган ичинде транзакция эң сырткы контекст сакталган процедура . Бул демейки жөндөө. Жогоруда сүрөттөлгөн демейки жүрүм-турумду камсыз кылат. Башкача айтканда, бардык SQL билдирүүлөрү а сакталган процедураны аткаруу жалгыз катары транзакция блок.

Жогорудагылардан тышкары, биз процедурада commit колдоно алабызбы? Жалпысынан, процедуралар болбошу керек жасоо . Эгер сен жасоо сакталган ичинде процедура , сиз анын кайра колдонуу мүмкүнчүлүгүн чектеп жатасыз, анткени чалуучу өзгөртүүнү каалаган процедура чоңураак транзакциянын бир бөлүгү болуу үчүн жөн гана чалууга болбойт процедура түздөн-түз.

Буга байланыштуу биз транзакцияны SQL функциясында колдоно алабызбы?

1 Жооп. Ошол үчүн транзакциялар үчүн керексиз sql -сервер функциялары . Бирок, сен болот өзгөртүү транзакция обочолонуу деңгээли, мисалы, мүмкүн колдонуу NOLOCK "милдеттенбеген окууга" жетүү үчүн ишарат транзакция обочолонуу деңгээли жана башкалардан алынбаган маалыматтарды окуу транзакциялар.

Эгерде ооба болсо, SQLде уя салынган транзакцияларды кантип колдоно алабыз?

SQL Сервер чындап колдобойт уяланган транзакциялар . Бир гана бар транзакция бир убакта. Бул транзакция негизи бар ички транзакция эсептегич, @@TRANCOUNT. Ар бир ырааттуу башталат транзакция жогорулатуулар the бирден каршы, ар бири милдеттендирет транзакция аны бир азайтат.

Сунушталууда: