/ / So löschen Sie mehrere Trigger in einer PostgreSQL 9.1-Datenbank - sql, postgresql, postgresql-9.1

Wie man mehrere Trigger in einer PostgreSQL 9.1 DB löscht - sql, postgresql, postgresql-9.1

Ich versuche, mehrere Trigger zu entfernen, bekomme aber einen SQL-Fehler:

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

Hier ist die SQL, die ich in Schienen ausführte:

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

Gibt es eine Möglichkeit, eine lange Liste von Triggern leicht zu löschen? Vielen Dank

Antworten:

10 für die Antwort № 1
DROP TRIGGER rr_admin_reports ON yourTable;

Zitat aus der PostgreSQL-Dokumentation:

Die DROP TRIGGER-Anweisung in PostgreSQL ist mit dem SQL-Standard nicht kompatibel. Im SQL-Standard sind Triggernamen nicht lokal für Tabellen, daher lautet der Befehl einfach DROP TRIGGER name.

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