我的触发器有问题......
这是我的触发器:
create or replace
trigger limit_post
before insert on post
for each row
declare
temp timestamp(6);
begin
temp := (select post_time
from post
where post_id = (select max(post_id)
from post
where user_id = :new.user_id));
if day(:new.post_time) = day(temp)
then
:new.item_name := 'yeah!';
end if;
end limit_post;
该触发器是假的...... 我想创建一个触发器,可以检查该用户的最后一个post_time日是否与今天相同......
如果那是相同的那么item_name是'是啊!'
这里需要帮助.. thx ... !!
答案 0 :(得分:3)
我认为该触发器会抛出:ORA-04091:表XXXX正在变异,触发器/函数可能看不到它。
您无法在触发器所在的同一个表上执行DML。
如果您要实现的目的是将帖子限制为每人每天1个帖子,则可以在user_id和day(post_time)上的表格上创建一个唯一键。