SQL::Translator::Schema::Trigger.3pm

Langue: en

Version: 2009-03-08 (fedora - 05/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

SQL::Translator::Schema::Trigger - SQL::Translator trigger object

SYNOPSIS

   use SQL::Translator::Schema::Trigger;
   my $trigger = SQL::Translator::Schema::Trigger->new(
       name                => 'foo',
       perform_action_when => 'before', # or after
       database_event      => 'insert', # Obsolete please use database_events!
           database_events     => [qw/update instert/], # or update, update_on, delete
       fields              => [],       # fields if event is "update"
       on_table            => 'foo',    # table name
       action              => '...',    # text of trigger
       schema              => $schema,  # Schema object
   );
 
 

DESCRIPTION

"SQL::Translator::Schema::Trigger" is the trigger object.

METHODS


new

Object constructor.

   my $schema = SQL::Translator::Schema::Trigger->new;
 
 

perform_action_when

Gets or sets whether the event happens ``before'' or ``after'' the "database_event".

   $trigger->perform_action_when('after');
 
 

database_event

Obosolete please use database_events!

database_events

Gets or sets the events that triggers the trigger.

   my $ok = $trigger->database_events('insert');
 
 

fields

Gets and set which fields to monitor for "database_event".

   $view->fields('id');
   $view->fields('id', 'name');
   $view->fields( 'id, name' );
   $view->fields( [ 'id', 'name' ] );
   $view->fields( qw[ id name ] );
 
   my @fields = $view->fields;
 
 

table

Gets or set the table on which the trigger works, as a SQL::Translator::Schema::Table object.
  $trigger->table($triggered_table);

on_table

Gets or set the table name on which the trigger works, as a string.
  $trigger->on_table('foo');

action

Gets or set the actions of the trigger.

   $trigger->actions(
       q[
         BEGIN
           select ...;
           update ...;
         END
       ]
   );
 
 

is_valid

Determine whether the trigger is valid or not.

   my $ok = $trigger->is_valid;
 
 

name

Get or set the trigger's name.

   my $name = $trigger->name('foo');
 
 

order

Get or set the trigger's order.

   my $order = $trigger->order(3);
 
 

schema

Get or set the trigger's schema object.

   $trigger->schema( $schema );
   my $schema = $trigger->schema;
 
 

compare_arrays

Compare two arrays.

equals

Determines if this trigger is the same as another

   my $isIdentical = $trigger1->equals( $trigger2 );
 
 

AUTHOR

Ken Y. Clark <kclark@cpan.org>.