DBA の初心者です。お付き合いいただきありがとうございます。
概要: グループ、サブグループ、およびユーザーがあります。
- ユーザーはグループの所有者になることができるため、そのすべてのサブグループの所有者になる必要があります
- ユーザーはグループのコラボレーターまたはフォロワーになることができるため、そのすべてのサブグループのコラボレーターまたはフォロワーである必要があります
- ユーザーはサブグループのコラボレーターまたはフォロワーになることができます
表は次のとおりです (簡略化)。
グループ(topic_id,title)
サブグループ(subtopic_id,title,topic_id)
rel_Group (user_id,topic_id,type) //ユーザーとグループ (所有者、コラボレーター、またはフォロワー) の関係を決定する
rel_Subgroup (user_id,subtopic_id,type) //サブグループ (所有者、コラボレーター、またはフォロワー) に対するユーザーの関係を決定する
ユーザー(user_id)
rel_Subgroup の行を INSERT / UPDATE / DELETE するサブグループが作成されたときにトリガーを作成して、グループの所有者、コラボレーター、またはフォロワーであるユーザーがそれぞれサブグループの所有者、コラボレーター、またはフォロワーになるようにしたい
これは私が得た最も近いものですが、まだ得ています: #1415 - トリガーから結果セットを返すことは許可されていません。
SQL クエリ
delimiter //
create trigger Transfer_Rights_to_Subgroup
after insert
on Subgroup
for each row
begin
select user_id,type from rel_Group where rel_Group.topic_id = NEW.topic_id;
insert into rel_Subgroup VALUES (rel_Group.user_id,NEW.subtopic_id,rel_Group.type);
END; //
delimiter ;
挿入をソートしてから、更新/削除を把握したいと考えています。
どんな助けでも、大歓迎です!
どうも