我有一个现有的表postn_matrix
,其中包含员工列表和他们的人数。在组织中的职位。
每当添加或删除用户的位置时,相应的计数都会通过此触发器反映在表中(VIA UPDATE)
现在,如果有一个新用户,他将没有条目postn_matrix
,所以我必须为他/她插入一条新记录(VIA INSERT)。这需要从 BASE TABLE 中引入。
更新似乎工作正常,但我无法将新用户引入表中。
我一直在尝试用光标处理这种情况。但它还没有任何帮助。我希望一些专家可以向我展示光明.. :)。除了使用光标之外的任何其他建议将不胜感激
CREATE OR REPLACE TRIGGER TRIG1
BEFORE INSERT OR DELETE ON (BASETABLE)
FOR EACH ROW
DECLARE
cursor c1 is
select person_id
from postn_matrix;
v_temp varchar2(15);
BEGIN
IF INSERTING THEN
open c1;
LOOP
fetch c1 into v_temp;
if v_temp!=:new.person_id THEN
insert into POSTN_MATRIX (PERSON_ID)
VALUES (:new.PERSON_ID);
else
UPDATE POSTN_MATRIX
//this is working fine ;
END IF;
end loop;
close c1;
END
/