NAME
SQL::Translator::Schema::Trigger - SQL::Translator trigger object
SYNOPSIS
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 <kclark@cpan.org>.