我有一个带有日期类型属性 (MeetDate) 和另一个 varchar2 类型属性 (WorkWeek) 的表 (会议)。我正在尝试使用 to_char 函数根据 MeetDate 值执行 After 触发器以填充 WorkWeek 字段。分别尝试了以下代码,它们编译时没有错误,但是当我尝试使用 Null for WorkWeek 插入一行时,它给了我一个“变异触发器/函数可能看不到它”错误。我在这里做错了什么?提前感谢任何帮助。
--Code 1
Create or Replace Trigger Update_WorkWeek
After Insert On Meeting
For Each Row
Begin
Update Meeting
Set WorkWeek = (Select to_char(:new.MeetDate, 'YYYY IW') From Dual)
Where MeetID = :new.MeetID;
End;
/
show Errors;
--Code 2
Create or Replace Trigger Update_WorkWeek
After Insert On Meeting
For Each Row
Begin
if :New.WorkWeek is Null then
Update Meeting
Set WorkWeek = (Select to_char(:new.MeetDate, 'YYYY IW') From Dual)
Where MeetID = :new.MeetID;
End if;
End;
/
show Errors;