Package org.h2.api

Interface Trigger

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DELETE
      The trigger is called for DELETE statements.
      static int INSERT
      The trigger is called for INSERT statements.
      static int SELECT
      The trigger is called for SELECT statements.
      static int UPDATE
      The trigger is called for UPDATE statements.
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default void close()
      This method is called when the database is closed.
      void fire​(java.sql.Connection conn, java.lang.Object[] oldRow, java.lang.Object[] newRow)
      This method is called for each triggered action.
      default void init​(java.sql.Connection conn, java.lang.String schemaName, java.lang.String triggerName, java.lang.String tableName, boolean before, int type)
      This method is called by the database engine once when initializing the trigger.
      default void remove()
      This method is called when the trigger is dropped.
    • Field Detail

      • INSERT

        static final int INSERT
        The trigger is called for INSERT statements.
        See Also:
        Constant Field Values
      • UPDATE

        static final int UPDATE
        The trigger is called for UPDATE statements.
        See Also:
        Constant Field Values
      • DELETE

        static final int DELETE
        The trigger is called for DELETE statements.
        See Also:
        Constant Field Values
      • SELECT

        static final int SELECT
        The trigger is called for SELECT statements.
        See Also:
        Constant Field Values
    • Method Detail

      • init

        default void init​(java.sql.Connection conn,
                          java.lang.String schemaName,
                          java.lang.String triggerName,
                          java.lang.String tableName,
                          boolean before,
                          int type)
                   throws java.sql.SQLException
        This method is called by the database engine once when initializing the trigger. It is called when the trigger is created, as well as when the database is opened. The type of operation is a bit field with the appropriate flags set. As an example, if the trigger is of type INSERT and UPDATE, then the parameter type is set to (INSERT | UPDATE).
        Parameters:
        conn - a connection to the database (a system connection)
        schemaName - the name of the schema
        triggerName - the name of the trigger used in the CREATE TRIGGER statement
        tableName - the name of the table
        before - whether the fire method is called before or after the operation is performed
        type - the operation type: INSERT, UPDATE, DELETE, SELECT, or a combination (this parameter is a bit field)
        Throws:
        java.sql.SQLException - on SQL exception
      • fire

        void fire​(java.sql.Connection conn,
                  java.lang.Object[] oldRow,
                  java.lang.Object[] newRow)
           throws java.sql.SQLException
        This method is called for each triggered action. The method is called immediately when the operation occurred (before it is committed). A transaction rollback will also rollback the operations that were done within the trigger, if the operations occurred within the same database. If the trigger changes state outside the database, a rollback trigger should be used.

        The row arrays contain all columns of the table, in the same order as defined in the table.

        The trigger itself may change the data in the newRow array.

        Parameters:
        conn - a connection to the database
        oldRow - the old row, or null if no old row is available (for INSERT)
        newRow - the new row, or null if no new row is available (for DELETE)
        Throws:
        java.sql.SQLException - if the operation must be undone
      • close

        default void close()
                    throws java.sql.SQLException
        This method is called when the database is closed. If the method throws an exception, it will be logged, but closing the database will continue.
        Throws:
        java.sql.SQLException - on SQL exception
      • remove

        default void remove()
                     throws java.sql.SQLException
        This method is called when the trigger is dropped.
        Throws:
        java.sql.SQLException - on SQL exception