org.h2.samples
Class UpdatableView

java.lang.Object
  extended by org.h2.tools.TriggerAdapter
      extended by org.h2.samples.UpdatableView
All Implemented Interfaces:
Trigger

public class UpdatableView
extends TriggerAdapter

This sample application shows how to use triggers to create updatable views.


Field Summary
 
Fields inherited from class org.h2.tools.TriggerAdapter
before, schemaName, tableName, triggerName, type
 
Fields inherited from interface org.h2.api.Trigger
DELETE, INSERT, SELECT, UPDATE
 
Constructor Summary
UpdatableView()
           
 
Method Summary
 void fire(java.sql.Connection conn, java.sql.ResultSet oldRow, java.sql.ResultSet newRow)
          This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method.
 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.
static void main(java.lang.String... args)
          This method is called when executing this sample application from the command line.
 
Methods inherited from class org.h2.tools.TriggerAdapter
close, fire, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UpdatableView

public UpdatableView()
Method Detail

main

public static void main(java.lang.String... args)
                 throws java.lang.Exception
This method is called when executing this sample application from the command line.

Parameters:
args - the command line parameters
Throws:
java.lang.Exception

init

public 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
Description copied from class: TriggerAdapter
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 default implementation initialized the result sets.

Specified by:
init in interface Trigger
Overrides:
init in class TriggerAdapter
Parameters:
conn - a connection to the database
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

fire

public void fire(java.sql.Connection conn,
                 java.sql.ResultSet oldRow,
                 java.sql.ResultSet newRow)
          throws java.sql.SQLException
Description copied from class: TriggerAdapter
This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method. ResultSet.next does not need to be called (and calling it has no effect; it will always return true).

For "before" triggers, the new values of the new row may be changed using the ResultSet.updateX methods.

Specified by:
fire in class TriggerAdapter
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