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 名です。

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

于 2013-01-04T20:08:07.497 に答える