私がしようとしているのは、ユーザーロールが1または1に変更され、ForumManagerテーブルからIsDirect値が0であるエントリをすべて削除した場合、すべてのForumIDについて、ForumManagerテーブルに人のエントリを挿入する必要があります。ストアドプロシージャで複数のクエリを書き込む方法
しかし、私はそれを挿入するために、ForumIDを取得し、ループを使ってForumManagerに挿入するために、さらに1つのクエリを実行する必要があります。
私が今までしようとしているのは不完全で、正しくないかもしれません。正しい方法では、ストアドプロシージャ内でループを実行する方法がわかりません。
delimiter //
CREATE PROCEDURE update_forum_admin (IN user_id INT, IN previous_role INT,IN new_role INT)
BEGIN
if(previous_role == 1)
{
DELETE ForumManager WHERE UserID=user_id AND IsDirect=0
}
elseif(new_role == 1)
{
SELECT ForumID FROM Forum
INSERT ForumManager (ForumID,UserID,IsDirect) VALUES (forum_id,user_id,0)
}
END//
delimiter ;
ELSEIF(NEW_ROLE == 1){INSERT ForumManager(ForumID、ユーザID、IsDirect)フォーラムFROM \t SELECT forum_id、USER_ID、0} –
それはforum_id選択してフォーラムテーブルからUSER_ID両方が、私はドンます」そのテーブルにuser_idがあると動的に表示されます –
動的で何がないのですか? user_id、どこですか? – Milaci