次のことを行うには、ストアドプロシージャを作成する必要があります。
SELECT * FROM TABLE1
次に、返された行ごとに;
INSERT INTO TABLE2 (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
どうすればこれを行うことができますか?
更新**
したがって、これまでの応答に基づいて、次のSQLを取得しました。
INSERT INTO recEntrantStatus (entrantId, roundId, judgeId)
SELECT entrantId, judgeId
FROM recEntrantStatus
WHERE roundId = 0
AND voted = true
AND enterNextround = true
ただし、roundId列に新しく作成されたレコードに入力@roundなどの固定値を追加する必要があります。
どうすればそれを行うことができますか?
ありがとう。
-------------------------------------アップデート2----------- --------------------------------
皆さんからの多大な支援のおかげで、この段階でうまく機能する次のSQLを入手できました。
INSERT INTO recEntrantStatus (entrantId, roundId, judgeId, notified, voted, enterNextRound)
SELECT entrantId, (@round + 1), judgeId, 0, 0, 0
FROM recEntrantStatus
WHERE roundId = @round
AND voted = 1
AND enterNextround = 1
このコードは、「enterNextRound」がtrueであるすべてのレコードをチェックしてから、それらのそれぞれに新しいレコードを作成します。
ただし、次のようにこれを拡張する必要があります。
A)すべてのジャッジの2番目のテーブル(tblJudges)を確認し、すべてのジャッジID(Id)の配列を取得します。
B)ステップAで取得したジャッジ/ジャッジIDごとに、上記の各レコードを作成することを除いて、上記の例と同じようにします。
どんな助け/提案もいつものように大いに感謝されるでしょう。
ありがとう!
クローズ-追加の要件により、新しい質問として投稿された質問。ありがとう!