НачатьНачать бесплатно

Исправление транзакции

Сегодня вам передали скрипт с ошибками. Его написал коллега, который не знал, как правильно завершить код. Коллега пытался перевести 100 $ со счёта 1 на счёт 5 и зарегистрировать эти операции в таблице transactions.

Вы сразу замечаете несколько ошибок: SQL Server не распознаёт операторы транзакций, которые в нём используются.

Можете ли вы исправить этот скрипт?

Это упражнение является частью курса

Транзакции и обработка ошибок в SQL Server

Посмотреть курс

Инструкции к упражнению

  • Запустите код, чтобы убедиться в наличии ошибок.
  • Исправьте каждую из них.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

BEGIN TRY  
	START TRAN;
		UPDATE accounts SET current_balance = current_balance - 100 WHERE account_id = 1;
		INSERT INTO transactions VALUES (1, -100, GETDATE());
        
		UPDATE accounts SET current_balance = current_balance + 100 WHERE account_id = 5;
		INSERT INTO transactions VALUES (5, 100, GETDATE());
	FINISH TRAN;
END TRY
BEGIN CATCH  
	UNDO TRAN;
END CATCH
Редактировать и запускать код