请问如何在触发器when语句中加子查询
when ( new.sname in ( select sname
from students ) and
new.cname in ( select cname
from courses ) )
oracle提示不允许子查询,请问怎么解决,多谢
when ( new.sname in ( select sname
from students ) and
new.cname in ( select cname
from courses ) )
oracle提示不允许子查询,请问怎么解决,多谢
when exists(select 1 from students where new.sname=sname) and exists(select 1 from courses where new.cname=cname)
条件写在block里,比如:
...
begin
select count(1) into n from students where sname = :new.sname;
if n>0 then
...
end if;
end;
可以转换思路,在触发体中判断。