returns 多个结果中包含 select 的 Oracle 触发器

Oracle trigger with select inside that returns multiple results

我有触发器

CREATE OR REPLACE TRIGGER my_trigger
AFTERE DELETE OR INSERT OR UPDATE ON my_table
FOR EACH ROW
DECLARE 
  V_PROJECT_ID VARCHAR2(10);
BEGIN
  SELECT PJ_ID INTO V_PROJECT_ID FROM PROJECT_ROLES_GROUPS
  WHERE GRP_ID = :OLD.GRP_ID;

  UPDATE PROJECTS SET TOCUHED = 1 WHERE ID = V_PROJECT_ID;
END;

但是select里面的语句触发了returns多个值。

我该如何处理?

使用 in 而不是变量作为查询怎么样?

BEGIN
  UPDATE PROJECTS
      SET TOUCHED = 1
      WHERE ID IN (SELECT PJ_ID 
                   FROM PROJECT_ROLES_GROUPS
                   WHERE GRP_ID = :NEW.GRP_ID
                  );
END