Top Description Fields Methods
org.h2.api

public Interface Trigger

Known Direct Implementers
org.h2.fulltext.FullText.FullTextTrigger, org.h2.fulltext.FullTextLucene.FullTextTrigger, org.h2.tools.TriggerAdapter
Imports
java.sql.Connection, .SQLException

A class that implements this interface can be used as a trigger.

Field Summary

Modifier and TypeField and Description
public static final int
DELETE

The trigger is called for DELETE statements.

public static final int
INSERT

The trigger is called for INSERT statements.

public static final int
SELECT

The trigger is called for SELECT statements.

public static final int
UPDATE

The trigger is called for UPDATE statements.

Method Summary

Modifier and TypeMethod and Description
public default void
close()

This method is called when the database is closed.

public void
fire(Connection
a connection to the database
conn
,
Object[]
the old row, or null if no old row is available (for INSERT)
oldRow
,
Object[]
the new row, or null if no new row is available (for DELETE)
newRow
)

This method is called for each triggered action.

public default void
init(Connection
a connection to the database (a system connection)
conn
,
String
the name of the schema
schemaName
,
String
the name of the trigger used in the CREATE TRIGGER statement
triggerName
,
String
the name of the table
tableName
,
boolean
whether the fire method is called before or after the operation is performed
before
,
int
the operation type: INSERT, UPDATE, DELETE, SELECT, or a combination (this parameter is a bit field)
type
)

This method is called by the database engine once when initializing the trigger.

public default void
remove()

This method is called when the trigger is dropped.

Field Detail

DELETEback to summary
public static final int DELETE

The trigger is called for DELETE statements.

INSERTback to summary
public static final int INSERT

The trigger is called for INSERT statements.

SELECTback to summary
public static final int SELECT

The trigger is called for SELECT statements.

UPDATEback to summary
public static final int UPDATE

The trigger is called for UPDATE statements.

Method Detail

closeback to summary
public default void close() throws 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.

Exceptions
SQLException:
on SQL exception
fireback to summary
public void fire(Connection conn, Object[] oldRow, Object[] newRow) throws 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:Connection

a connection to the database

oldRow:Object[]

the old row, or null if no old row is available (for INSERT)

newRow:Object[]

the new row, or null if no new row is available (for DELETE)

Exceptions
SQLException:
if the operation must be undone
initback to summary
public default void init(Connection conn, String schemaName, String triggerName, String tableName, boolean before, int type) throws 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:Connection

a connection to the database (a system connection)

schemaName:String

the name of the schema

triggerName:String

the name of the trigger used in the CREATE TRIGGER statement

tableName:String

the name of the table

before:boolean

whether the fire method is called before or after the operation is performed

type:int

the operation type: INSERT, UPDATE, DELETE, SELECT, or a combination (this parameter is a bit field)

Exceptions
SQLException:
on SQL exception
removeback to summary
public default void remove() throws SQLException

This method is called when the trigger is dropped.

Exceptions
SQLException:
on SQL exception