删除触发器中第5行的PL / SQL 1064错误

时间:2011-04-06 15:58:11

标签: plsql

我正在尝试创建一个触发器,在删除所有文章内容后删除文章。我得到1064 error at line 5

这是我写的PL / SQL:

delimiter |

create trigger `cleanup_article` after delete on `article_content`
for each row
begin
    declare x int;
    set x = select count(*) as x from `article_content` where id = old.id;
    if x = 0 then
        delete from `article` where id=old.id;
    end if;
end |

delimiter ;

1 个答案:

答案 0 :(得分:1)

由于PL / SQL语法无效,因此存在一些问题:

  1. 标识符不受限制或使用“,而不是

  2. 分隔
  3. declare必须在begin

  4. 之前
  5. set不是有效的关键字。要获得计数,请使用INTO,例如SELECT COUNT(*) INTO x FROM ...

  6. DELETE语句引用old.id,这应该是:old.id

  7. “分隔符”语句有什么用?只需使用;

  8. 结束触发器定义即可