ID を取得するために、最初に選択を行い、次に 2 つのクエリで更新を行います。
問題は、ロックされた行に問題があることです。Select と Update の両方のステートメントを 1 つのストアド プロシージャに入れると、ロックに役立つことがわかりました。これは本当ですか?
私が実行するクエリは次のとおりです。
select counter
from dba.counter_list
where table_name = :TableName
update dba.counter_list
set counter = :NewCounter
where table_name = :TableName
問題は、複数のユーザーが同じ行を選択し、同じ行を更新する可能性があることです。