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

NAME  SYNOPSIS  DESCRIPTION  METHODS  new  perform_action_when  database_event  database_events  fields  table  on_table  action  is_valid  name  order  scope  schema  compare_arrays  equals  AUTHORS 

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_events => [qw/update insert/], # also update, update_on, delete
fields => [], # if event is "update"
on_table => 'foo', # table name
action => '...', # text of trigger
schema => $schema, # Schema object
scope => 'row', # or statement
);

DESCRIPTION

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

METHODS

new

Object constructor.

my $trigger = 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

Obsolete 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 action of the trigger.

$trigger−>action(
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);

scope

Get or set the trigger’s scope (row or statement).

my $scope = $trigger−>scope('statement');

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 $is_identical = $trigger1−>equals( $trigger2 );

AUTHORS

Anonymous, Ken Youens-Clark <[email protected]>.


Updated 2024-01-29 - jenkler.se | uex.se