Это зависит от бизнес-логики: если SP является атомарным, он должен реализовать свою собственную транзакцию. Если вы этого не сделаете, вы рискуете ошибочным кодом в будущем, не создавая транзакцию переноса. поэтому, отвечая на ваш вопрос, я думаю, что транзакция должна идти внутри SP.
Конечно, ничто не мешает вам делать то и другое, атомарные SP реализуют свои собственные транзакции, и вне этой области могут существовать другие более широкие транзакции.
Как правило, при создании транзакций внутри SP вы, возможно, уже находитесь в области транзакций, при выполнении фиксации / отката необходимо кодировать этот экземпляр.