Сохранить заказ и остаток одной транзакцией

Результат настоящих запросов через PDO_FIREBIRD. Собственные учебные объекты после наблюдений удалены.

Результат выполнения
НаблюдениеРезультат
Заказ 1012 единицы сохранены
Заказ 1027 единиц: недостаточно
Заказ 103отменён вместе с уменьшением остатка
Осталось3
Сохранённых заказов1
Полученные строки и наблюдения
{
    "orders": [
        {
            "id": 101,
            "qty": 2
        }
    ],
    "remaining": 3,
    "shortage": "недостаточно",
    "cancelled_order_present": false
}

result.json содержит те же данные. Реквизиты входа сюда не записываются.