PowerDesigner ships pre-defined template items for each pre-defined trigger template defined in the supported DBMS. The Rebuild Triggers function uses both pre-defined and user-defined trigger templates to automatically create triggers for selected tables.
In the pre-defined trigger templates, each pre-defined template item corresponds to a referential integrity constraint. Although a pre-defined template item is defined in a trigger template, it is only generated in a trigger script if it implements the trigger referential integrity defined for a reference.
Template items have the following generation conditions:
| 
                             Template item is listed in...  | 
                        
                             Template item is...  | 
                    
|---|---|
| 
                             Template Items tab of trigger property sheet  | 
                        
                             Available for generation  | 
                    
| 
                             Template Items tab of trigger template property sheet  | 
                        
                             Generated  | 
                    
You can modify the code for these pre-defined template items, but they cannot be deleted or renamed.
The PowerDesigner pre-defined template items that are available depend on the current DBMS.
The template items below implement referential integrity in insert trigger templates.
| 
                                 Template item  | 
                            
                                 Integrity constraint  | 
                            
                                 Description  | 
                        
|---|---|---|
                                DeclInsertChildParentExist InsertChildParentExist  | 
                            
                                 Mandatory parent  | 
                            
                                 Parent must exist when inserting a child  | 
                        
                                DeclInsertTooManyChildren InsertTooManyChildren  | 
                            
                                 Cannot exceed maximum cardinality constraint  | 
                            
                                 Cannot insert a child if maximum cardinality has been reached  | 
                        
                                DeclInsertSequenceColumn InsertSequenceColumn  | 
                            
                                 Select value in sequence list for column  | 
                            
                                 Select a value for the column from a list of sequences  | 
                        
The template items below implement referential integrity in update trigger templates.
| 
                                 Template item  | 
                            
                                 Integrity constraint  | 
                            
                                 Description  | 
                        
|---|---|---|
| 
                                 DeclUpdateChildParentExist UpdateChildParentExist  | 
                            
                                 Mandatory parent  | 
                            
                                 Parent must exist when updating a child  | 
                        
| 
                                 DeclUpdateChildChangeParent UpdateChildChangeParent  | 
                            
                                 Change parent not allowed  | 
                            
                                 Cannot modify parent code in child  | 
                        
| 
                                 DeclUpdateParentRestrict UpdateParentRestrict  | 
                            
                                 Restrict on update  | 
                            
                                 Cannot modify parent if child exists  | 
                        
| 
                                 DeclUpdateParentCascade UpdateParentCascade  | 
                            
                                 Cascade on update  | 
                            
                                 Modify parent code in all children  | 
                        
| 
                                 DeclUpdateChangeColumn UpdateChangeColumn  | 
                            
                                 Non-modifiable column  | 
                            
                                 Cannot modify column  | 
                        
| 
                                 DeclUpdateParentSetNull UpdateParentSetNull  | 
                            
                                 Set null on update  | 
                            
                                 Set parent code to null in all children  | 
                        
| 
                                 DeclUpdateParentSetDefault UpdateParentSetDefault  | 
                            
                                 Set default on update  | 
                            
                                 Set parent code to default in all children  | 
                        
| 
                                 DeclUpdateTooManyChildren UpdateTooManyChildren  | 
                            
                                 Cannot exceed maximum cardinality constraint  | 
                            
                                 Cannot update a child if maximum cardinality has been reached  | 
                        
The template items below implement referential integrity in delete trigger templates.
| 
                                 Template item  | 
                            
                                 Integrity constraint  | 
                            
                                 Description  | 
                        
|---|---|---|
| 
                                 DeclDeleteParentRestrict DeleteParentRestrict  | 
                            
                                 Restrict on delete  | 
                            
                                 Cannot delete parent if child exists  | 
                        
| 
                                 DeclDeleteParentCascade DeleteParentCascade  | 
                            
                                 Cascade on delete  | 
                            
                                 Delete parent code in all children  | 
                        
| 
                                 DeclDeleteParentSetNull DeleteParentSetNull  | 
                            
                                 Set null on delete  | 
                            
                                 Delete in parent sets child to null  | 
                        
| 
                                 DeclDeleteParentSetDefault DeleteParentSetDefault  | 
                            
                                 Set default on delete  | 
                            
                                 Delete in parent sets child to default  |