如何在PostgreSQL 9.1 DB中删除多个触发器

时间:2013-01-04 20:03:38

标签: sql postgresql postgresql-9.1

我正在尝试删除多个触发器但遇到SQL错误:

PG::Error: ERROR:  syntax error at or near ";"
LINE 1:     DROP TRIGGER rr_admin_reports;

这是我在rails中执行的sql:

sql = <<-SQL
  DROP TRIGGER rr_admin_reports;
  DROP TRIGGER rr_apps;
  DROP TRIGGER rr_attachments;
SQL

有没有办法轻松删除很长的触发器列表?感谢

1 个答案:

答案 0 :(得分:10)

DROP TRIGGER rr_admin_reports ON yourTable;

引用PostgreSQL文档:

  

PostgreSQL中的DROP TRIGGER语句与SQL标准不兼容。在SQL标准中,触发器名称不是表的本地,因此该命令只是DROP TRIGGER名称。

http://www.postgresql.org/docs/7.4/static/sql-droptrigger.html