9

我正在尝试删除多个触发器,但收到 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

有没有办法轻松删除一长串触发器?谢谢

4

1 回答 1

14
DROP TRIGGER rr_admin_reports ON yourTable;

引用 PostgreSQL 文档:

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

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

于 2013-01-04T20:08:07.497 回答