1SQL::Translator::SchemaU:s:eTrriCgognetrr(i3b)uted PerlSDQoLc:u:mTernatnastliaotnor::Schema::Trigger(3)
2
3
4
6 SQL::Translator::Schema::Trigger - SQL::Translator trigger object
7
9 use SQL::Translator::Schema::Trigger;
10 my $trigger = SQL::Translator::Schema::Trigger->new(
11 name => 'foo',
12 perform_action_when => 'before', # or after
13 database_events => [qw/update insert/], # also update, update_on, delete
14 fields => [], # if event is "update"
15 on_table => 'foo', # table name
16 action => '...', # text of trigger
17 schema => $schema, # Schema object
18 scope => 'row', # or statement
19 );
20
22 "SQL::Translator::Schema::Trigger" is the trigger object.
23
25 new
26 Object constructor.
27
28 my $trigger = SQL::Translator::Schema::Trigger->new;
29
30 perform_action_when
31 Gets or sets whether the event happens "before" or "after" the
32 "database_event".
33
34 $trigger->perform_action_when('after');
35
36 database_event
37 Obsolete please use database_events!
38
39 database_events
40 Gets or sets the events that triggers the trigger.
41
42 my $ok = $trigger->database_events('insert');
43
44 fields
45 Gets and set which fields to monitor for "database_event".
46
47 $view->fields('id');
48 $view->fields('id', 'name');
49 $view->fields( 'id, name' );
50 $view->fields( [ 'id', 'name' ] );
51 $view->fields( qw[ id name ] );
52
53 my @fields = $view->fields;
54
55 table
56 Gets or set the table on which the trigger works, as a
57 SQL::Translator::Schema::Table object.
58 $trigger->table($triggered_table);
59
60 on_table
61 Gets or set the table name on which the trigger works, as a string.
62 $trigger->on_table('foo');
63
64 action
65 Gets or set the action of the trigger.
66
67 $trigger->action(
68 q[
69 BEGIN
70 select ...;
71 update ...;
72 END
73 ]
74 );
75
76 is_valid
77 Determine whether the trigger is valid or not.
78
79 my $ok = $trigger->is_valid;
80
81 name
82 Get or set the trigger's name.
83
84 my $name = $trigger->name('foo');
85
86 order
87 Get or set the trigger's order.
88
89 my $order = $trigger->order(3);
90
91 scope
92 Get or set the trigger's scope (row or statement).
93
94 my $scope = $trigger->scope('statement');
95
96 schema
97 Get or set the trigger's schema object.
98
99 $trigger->schema( $schema );
100 my $schema = $trigger->schema;
101
102 compare_arrays
103 Compare two arrays.
104
105 equals
106 Determines if this trigger is the same as another
107
108 my $is_identical = $trigger1->equals( $trigger2 );
109
111 Anonymous, Ken Youens-Clark <kclark@cpan.org>.
112
113
114
115perl v5.36.0 2023-02-27SQL::Translator::Schema::Trigger(3)