2013-01-04 9 views
5

मैं कई चलाता हटाने की कोशिश कर रहा हूँ, लेकिन किसी SQL त्रुटि प्राप्त करने में कई चलाता ड्रॉप करने:कैसे एक PostgreSQL 9.1 डीबी

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

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

यहाँ एसक्यूएल मैं रेल में क्रियान्वित कर रहा हूँ है

क्या ट्रिगर की लंबी सूची को आसानी से हटाने का कोई तरीका है? PostgreSQL प्रलेखन से धन्यवाद

उत्तर

8
DROP TRIGGER rr_admin_reports ON yourTable; 

उद्धरण:

The DROP TRIGGER statement in PostgreSQL is incompatible with the SQL standard. In the SQL standard, trigger names are not local to tables, so the command is simply DROP TRIGGER name.

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

+3

वहाँ ड्रॉप ट्रिगर करते मौजूद है कहने का एक तरीका है? – AnApprentice

+2

हां उपयोग: ड्रॉ ट्र्रिगर अगर आपके table पर rr_admin_reports EXISTS; :) –

संबंधित मुद्दे