X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FDB2.pm;h=e71e9e731bbabab372daecae103c55ff331005f3;hb=ba506e52c480afe33dfec6b38a12759fad1e7fa2;hp=418d63ef6e38209354e4ac14c81a626df590ae56;hpb=b03926cdac036bdbcf69e478ca29e1121c814646;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/DB2.pm b/lib/SQL/Translator/Producer/DB2.pm index 418d63e..e71e9e7 100644 --- a/lib/SQL/Translator/Producer/DB2.pm +++ b/lib/SQL/Translator/Producer/DB2.pm @@ -37,7 +37,7 @@ Creates an SQL DDL suitable for DB2. use warnings; use strict; use vars qw[ $VERSION $DEBUG $WARN ]; -$VERSION = '1.99'; +$VERSION = '1.60'; $DEBUG = 0 unless defined $DEBUG; use SQL::Translator::Schema::Constants; @@ -386,12 +386,13 @@ sub create_trigger my ($trigger) = @_; # create: CREATE TRIGGER trigger_name before type /ON/i table_name reference_b(?) /FOR EACH ROW/i 'MODE DB2SQL' triggered_action + my $db_events = join ', ', $trigger->database_events; my $out = sprintf('CREATE TRIGGER %s %s %s ON %s %s %s MODE DB2SQL %s', $trigger->name, $trigger->perform_action_when || 'AFTER', - $trigger->database_event =~ /update_on/i ? + $db_events =~ /update_on/i ? ('UPDATE OF '. join(', ', $trigger->fields)) : - $trigger->database_event || 'UPDATE', + $db_events || 'UPDATE', $trigger->table->name, $trigger->extra->{reference} || 'REFERENCING OLD AS oldrow NEW AS newrow', $trigger->extra->{granularity} || 'FOR EACH ROW',