【发布时间】:2015-12-01 19:56:09
【问题描述】:
我有两个表购买和客户,如果购买表中的购买时间 ptime(日期)与客户表中已经存在的 last_visit(日期)不同,我需要更新客户中的visits_made(数量)。 这是我正在尝试的触发器,我正在做一些非常可耻的错误。
create or replace trigger update_visits_made
after insert on purchases
for each row
declare new_date purchases.ptime%type;
begin
select ptime into new_date
from purchases
where purchases.ptime = :new.ptime;
if new_date = customers.last_visit then
new.last_visit=old.last_visit;
else
update customers
set visits_made=visits_made+1
where purchases.ptime=:new.ptime;
end if;
end;
/
show errors
谁能告诉我哪里出错了?
我收到以下错误 行/列错误
10/15 PLS-00103:在期待其中一个时遇到符号“=” 下列的: := 。 (@%;
11/1 PLS-00103:遇到符号“ELSE”
16/1 PLS-00103:遇到符号“END”
【问题讨论】:
-
请不要编辑问题来纠正其他人建议您的错误。否则,它会使问题看起来毫无意义。谢谢。