ユーザー入力に基づいて特定の行と列の位置を更新するストアド プロシージャを作成しようとしています。私のテーブルには、漸進的な増分で名前を使用する約 100 の列があります。例 Page1、Page2、Page3、Page 4.... など。ユーザーが各ページの異なるバージョンを完了すると、データも段階的に更新する必要があります。
プロシージャが呼び出されると、ユーザーの行 (Page1 がキーで一意) を見つけて、ファイルのバージョンが最初の NULL 列に保存されている場所に情報を入れる必要があります。同様のアプリケーションでカーソルを使用するという話を見たことがありますが、これが適切な解決策であるかどうかはわかりません。
----------------------------------------------------
| Page1 | Page2 | Page3 | Page4 |
----------------------------------------------------
| /pg1.htm | /pg2.htm | /pg3.htm | NULL |
----------------------------------------------------
| /pg1.doc | /pg2.doc | NULL | NULL |
----------------------------------------------------
| /pg1.pdf | NULL | NULL | NULL |
----------------------------------------------------
呼び出されたときに1つのデータで毎回行を順次更新する手順が必要です。私の問題は、100 + IF ステートメントで制限するのではなく、これをスケーラブルにすることです。
私が作成した疑似コードは次のようになりますが、非常に非効率的です。
FIND ROW that matches unique key
LOOP Find_NULL
IF Column2 == NULL
UPDATE DATA HERE
ELSE IF Column3 == NULL
UPDATE DATA HERE
ELSE IF Column4 == NULL
UPDATE DATA HERE
ELSE IF.... and on and on
END LOOP Find_NULL
動的 SQL をサポートしていないと言われている MySQL を使用しています。次の NULL 列を格納するためにデータを調べたときに、変数を作成して変更しようとしましたが、これは機能しませんでした。
誰かが解決策やアドバイスを持っているなら、私はそれを感謝します.
前もって感謝します。