Вложенные транзакции в SQL-сервере

Это фактически компонент Content, который вызывает прокрутку, поскольку он заключен в react-native-keyboard-aware-scroll-view https://github.com/GeekyAnts/NativeBase/blob/master/src/basic/Content. JS

Чтобы отключить прокрутку на Content, все, что вам нужно сделать, это передать false на scrollEnabled реквизит


  ...

Это должно остановить прокрутку верхней ,

32
задан Nate Sauber 27 September 2012 в 21:31
поделиться

4 ответа

С вложенной транзакцией фиксация не пишет изменений в диске, за исключением высокоуровневой транзакции. Откат, однако работы независимо от уровня транзакции, таким образом, да, это будет откатывать внутреннюю транзакцию.

37
ответ дан 27 November 2019 в 20:56
поделиться

Абсолютно да, высокоуровневая транзакция будет владеть всеми изменениями данных, пока она не будет фиксироваться или откатываться.

Однако я поощрил бы Вас думать тщательно о модели транзакции. Чем больше таких сценариев существует в Вашей системе, тем больше Ваше воздействие блокировке проблем. Также вычислительный расход увеличений процедуры.

замечательно, как часто при рационализации SQL я нахожу, что транзакции были реализованы, где они просто не требуются. Я поощряю Вас (и кто-либо работающий с транзакциями) думать тщательно о том, почему Вы используете их в каждом контексте и что произошло бы разве, транзакция не была реализована. Просто мой 2c ценность!

8
ответ дан 27 November 2019 в 20:56
поделиться

Да хранимая процедура будет откатываться.

Вот полный поток Вашего кода:

BEGIN TRY

    BEGIN TRANSACTION

    EXEC SotredProcedureName

    --Do some other activity

    COMMIT TRANSACTION
END TRY
BEGIN CATCH

    --IF an error occurs then rollback the current transaction, which includes the stored procedure code.
    ROLLBACK TRANSACTION

END CATCH

С наилучшими пожеланиями, John

2
ответ дан 27 November 2019 в 20:56
поделиться

Я пробовал использовать begin tran и зафиксировать внутри хранимой процедуры, скажем, usp_test.
Выполните эти sp с другим запросом, как показано ниже

update x set name='xxx'
select * from x---contains 'xxx'
begin tran
update x set name='yyy'
select * from x---contains 'yyy'
exec usp_test
select * from x---contains 'zzz' inside the sp
rollback tran

При выполнении вышеуказанного запроса имя в таблице x должно быть «xxx», а не «zzz», поскольку первый запуск транзакции откатил даже фиксацию sp tran.
Итак, сначала начните транслировать изменения данных.

1
ответ дан 27 November 2019 в 20:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: