1

where条件を使用してアカウントをフェッチし、それを10で除算し、結果に基づいて行数を更新するストアドプロシージャをMySQLで記述したいと思います。

たとえば、アカウントの合計が100の場合、100/10 = 10レコードをロックして、それらを更新します。

私はこれにnewBeeです。どんな提案も役に立ちます。

ありがとう

4

1 に答える 1

2

トウステッププロセスを作成することをお勧めします。

     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;  
于 2012-10-27T23:06:32.083 に答える