.. _compound_trigger_dialog: ******************************** `Compound Trigger Dialog`:index: ******************************** Use the *Compound Trigger* dialog to create a compound trigger or modify an existing compound trigger. *Compound Trigger* is supported only for EPAS server 12 and above. A compound trigger executes a specified code when certain events occur. The *Compound Trigger* dialog organizes the development of a compound trigger through the following dialog tabs: *General*, *Events*, and *Code*. The *SQL* tab displays the SQL code generated by dialog selections. .. image:: images/compound_trigger_general.png :alt: Compound Trigger dialog general tab :align: center Use the fields in the *General* tab to identify the compound trigger: * Use the *Name* field to add a descriptive name for the compound trigger. This must be distinct from the name of any other compound trigger for the same table. The name will be displayed in the *pgAdmin* tree control. * Store notes about the compound trigger in the *Comment* field. .. image:: images/compound_trigger_general_enabled.png :alt: Trigger enabled in dialog tab :align: center * *Trigger enabled* field is available in compound trigger dialog once the trigger is created. You can select one of the four options available. Click the *Events* tab to continue. .. image:: images/compound_trigger_events.png :alt: Compound Trigger dialog events tab :align: center Use the fields in the *Events* tab to specify how and when the compound trigger fires: * Select the type of event(s) that will invoke the compound trigger; to select an event type, move the switch next to the event to the *YES* position. The supported event types are *INSERT*, *UPDATE*, *DELETE* and *TRUNCATE*. Views cannot have TRUNCATE triggers. * Use the *When* field to provide a boolean condition that will invoke the compound trigger. * If defining a column-specific compound trigger, use the *Columns* field to specify the columns or columns that are the target of the compound trigger. Click the *Code* tab to continue. .. image:: images/compound_trigger_code.png :alt: Compound Trigger dialog code tab :align: center Use the *Code* field to specify the code for the five timing events *BEFORE STATEMENT*, *AFTER STATEMENT*, *BEFORE EACH ROW*, *AFTER EACH ROW*, *INSTEAD OF EACH ROW* that will be invoked when the compound trigger fires. Basic template is provided with place holders. Click the *SQL* tab to continue. Your entries in the *Compound Trigger* dialog generate a SQL command (see an example below). Use the *SQL* tab for review; revisit or switch tabs to make any changes to the SQL command. Example ******* The following is an example of the sql command generated by user selections in the *Compound Trigger* dialog: .. image:: images/compound_trigger_sql.png :alt: Compound Trigger dialog sql tab :align: center The example demonstrates creating a compound trigger named *test_ct*. * Click the *Info* button (i) to access online help. * Click the *Save* button to save work. * Click the *Cancel* button to exit without saving work. * Click the *Reset* button to restore configuration parameters.