where条件を使用してアカウントをフェッチし、それを10で除算し、結果に基づいて行数を更新するストアドプロシージャをMySQLで記述したいと思います。
たとえば、アカウントの合計が100の場合、100/10 = 10レコードをロックして、それらを更新します。
私はこれにnewBeeです。どんな提案も役に立ちます。
ありがとう
where条件を使用してアカウントをフェッチし、それを10で除算し、結果に基づいて行数を更新するストアドプロシージャをMySQLで記述したいと思います。
たとえば、アカウントの合計が100の場合、100/10 = 10レコードをロックして、それらを更新します。
私はこれにnewBeeです。どんな提案も役に立ちます。
ありがとう
トウステッププロセスを作成することをお勧めします。
select @rowcount := count(1) from account;
次に、を使用LIMIT
して、更新する行の制限を設定します。
UPDATE account
SET column1 = desiredvalue
LIMIT @rowcount/10;
お役に立てれば。
編集:
select @rowcount := ROUND(count(1)/10) from account;
UPDATE account
SET column1 = desiredvalue
LIMIT @rowcount;
また
DECLARE rowcount INTEGER;
SELECT ROUND(count(1)/10) INTO rowcount from account;
UPDATE account
SET column1 = desiredvalue
LIMIT rowcount;