PreviousNextIndex

DISABLE TRIGGERS statement

Disables database triggers before you perform a dump or load procedure. You must have CAN-DUMP and CAN-LOAD permissions on the table for which you want to disable the triggers.

Syntax

DISABLE TRIGGERS FOR { DUMP | LOAD } OF table-name  
  [ ALLOW-REPLICATION ] 

DUMP
LOAD
table-name
ALLOW-REPLICATION
Example

The following example lets you dump or load the contents of a database table. The procedure uses the DISABLE TRIGGERS statement to disable the appropriate triggers before each dump or load operation.

r-dstrig.p
DEFINE SUB-MENU file 
  MENU-ITEM viewit LABEL "&View Data" 
  MENU-ITEM dumpit LABEL "&Dump Data" 
  MENU-ITEM loadit LABEL "&Load Data". 
  MENU-ITEM exit   LABEL "E&xit". 
   
DEFINE MENU mbar MENUBAR 
  SUB-MENU file LABEL "&File". 
   
DEFINE BUTTON b_more LABEL "Next". 
DEFINE BUTTON b_exit LABEL "Cancel". 
DEFINE VARIABLE ix AS INTEGER NO-UNDO. 
DEFINE FRAME cust-frame 
  Customer.CustNum SKIP 
  Customer.Name  SKIP 
  Customer.Phone SKIP 
  b_more b_exit 
  WITH CENTERED SIDE-LABELS ROW 3. 
DEFINE STREAM cust. 
PAUSE 0 BEFORE-HIDE. 
ON CHOOSE OF b_exit IN FRAME cust-frame DO: 
  HIDE FRAME cust-frame NO-PAUSE. 
  DISABLE ALL WITH FRAME cust-frame. 
  LEAVE. 
END.   
ON CHOOSE OF b_more IN FRAME cust-frame DO: 
  FIND NEXT Customer NO-LOCK NO-ERROR. 
  IF NOT AVAILABLE(Customer) THEN 
    RETURN. 
  DISPLAY Customer.CustNum Customer.Name Customer.Phone 
    WITH FRAME cust-frame. 
END. 
ON CHOOSE OF MENU-ITEM viewit DO: 
  ENABLE ALL WITH FRAME cust-frame. 
  FIND FIRST Customer NO-LOCK NO-ERROR. 
  DISPLAY Customer.CustNum Customer.Name Customer.Phone  
    WITH FRAME cust-frame. 
END. 
ON CHOOSE OF MENU-ITEM dumpit DO: 
  DISABLE TRIGGERS FOR DUMP OF Customer. 
  ix = 1. 
  SESSION:IMMEDIATE-DISPLAY = TRUE. 
  OUTPUT STREAM cust TO "Customer.d". 
  FOR EACH Customer NO-LOCK: 
    EXPORT STREAM cust Customer. 
    DISPLAY ix LABEL "Records Processed"  
      WITH FRAME rec-info SIDE-LABELS ROW SCREEN-LINES / 2 CENTERED. 
    ix = ix + 1. 
    PROCESS EVENTS. 
  END. 
  SESSION:IMMEDIATE-DISPLAY = FALSE. 
  OUTPUT STREAM cust CLOSE. /* 
  APPLY "ENTRY" TO b_quit IN FRAME butt-frame. */ 
END. 
IF NOT RETRY THEN 
  ASSIGN  
    CURRENT-WINDOW:MENUBAR = MENU mbar:HANDLE 
    CURRENT-WINDOW:VISIBLE = TRUE. 
WAIT-FOR CHOOSE OF MENU-ITEM exit. 
ON CHOOSE OF MENU-ITEM loadit DO: 
  DISABLE TRIGGERS FOR LOAD OF Customer. 
  INPUT FROM "Customer.d". 
  SESSION:IMMEDIATE-DISPLAY = TRUE. 
  REPEAT: 
    CREATE Customer. 
    IMPORT Customer. 
    DISPLAY ix LABEL "Records Processed" 
      WITH FRAME rec-info SIDE-LABELS ROW SCREEN-LINES / 2 CENTERED. 
    ix = ix + 1. 
    PROCESS EVENTS. 
  END. 
  INPUT CLOSE. 
  SESSION:IMMEDIATE-DISPLAY = FALSE. 
END. 

Notes
See also

ON statement, TRIGGER PROCEDURE statement


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex