Проверьте ваши учебники на предмет «транзакций» и посмотрите, как явно начать транзакцию. Если вы знаете, как обернуть серию операторов в транзакцию, вам нужно просто выполнить все необходимые проверки и откатиться, если возникнет проблема.
Хотя большинство банков допускают отрицательные сальдо, я собираюсь догадаться, что для вашей домашней работы это не так - если у них недостаточно средств для ее перевода, она может потерпеть неудачу. Если это правда, тогда ограничение на столбец Amount может быть полезным. Тогда вам не нужно явно проверять это. Если вы хотите учесть отрицательные сальдо, то я, вероятно, написал бы что-то вроде этого: (псевдокод. Я бы не пытался передать это. Вам нужно будет поработать самостоятельно, если вы хотите учиться.):
Начать транзакцию
Обновить исходный аккаунт, чтобы уменьшить сумму на сумму перевода
Проверьте, не превышает ли сумма на исходном счете значение 0. Если это так, откат транзакции
Обновить целевой счет, чтобы увеличить сумму на сумму перевода
Совершить транзакцию
Также включите любую другую проверку ошибок, которую вы считаете подходящей. То, как вы это сделаете, будет зависеть от вашей конкретной базы данных.