メッセージテーブルがあります。メッセージの挿入後、その挿入からの UserID と MsgID を messageRecipient テーブルに挿入する必要があります。メッセージがグループに送信された場合、そのグループのメンバーであるすべてのユーザーにメッセージを挿入する必要があります。ここに私が持っているものがありますが、messageRecipient テーブルに挿入されていません:
create or replace trigger update_messages
after insert on messages referencing new as new old as old
for each row
declare
userID1 int(10);
msgID1 int(10);
groupID1 int(10);
begin
userID1 := :new.ToUserID;
msgID1 := :new.msgID;
groupID1 := :new.ToGroupID;
if inserting then
if(userID1 <> null)
then INSERT INTO messageRecipient VALUES(msgID1, userID1);
elsif(groupID1 <> null)
THEN INSERT INTO messageRecipient(msgID, userID) SELECT msgID1, userID FROM groupMembership WHERE gID = groupID1;
end if;
end if;
end;
/
ここで何がうまくいかないのですか?