PreviousNextIndex

DELETE statement

Removes a record from a record buffer and from the database.

Data movement

Syntax

DELETE record 
  [ VALIDATE ( condition , msg-expression ) ] 
  [ NO-ERROR ] 

record
VALIDATE ( condition, msg-expression )
NO-ERROR
Examples

The r-delet.p procedure deletes all the records in the Customer table.

r-delet.p
FOR EACH Customer: 
  DELETE Customer. 
END. 

The r-delet2.p procedure prompts the user for a Customer number and then displays the name of that Customer. It then prompts the user to press y to confirm the deletion of the Customer record. The user’s response is stored in the del variable. If the value of the del variable is y, the procedure deletes the Customer record.

r-delet2.p
DEFINE VARIABLE del AS LOGICAL NO-UNDO FORMAT "y/n". 
REPEAT: 
  PROMPT-FOR Customer.CustNum. 
  FIND Customer USING Customer.CustNum. 
  DISPLAY Customer.Name. 
  del = NO. 
  UPDATE del LABEL "Enter ""y"" to confirm delete". 
  IF del THEN DELETE Customer. 
END. 

The r-delval.p procedure prompts the user for a Customer number. The procedure displays the name of the Customer and prompts the user: Do you want to delete this Customer? If the user answers no, the procedure prompts the user for another Customer number. If the user answers yes, the procedure checks whether the Customer has orders, using the VALIDATE option. If they do have orders, the procedure displays this message: This Customer has outstanding orders and cannot be deleted. If the Customer has no orders, the procedure deletes the Customer.

r-delval.p
DEFINE VARIABLE ans AS LOGICAL NO-UNDO. 
REPEAT WITH 1 DOWN: 
  PROMPT-FOR Customer.CustNum. 
  FIND Customer USING Customer.CustNum. 
  DISPLAY Customer.Name. 
  ans = NO. 
  DISPLAY "Do you want to delete this Customer ?"  
    WITH FRAME f-query. 
  UPDATE ans WITH FRAME f-query NO-LABELS. 
  IF ans THEN  
    DELETE Customer VALIDATE(NOT(CAN-FIND(Order OF Customer)), 
    "This Customer has outstanding orders and cannot be deleted."). 
END. 

Notes
See also

CREATE statement, FIND statement, FOR statement, INSERT statement


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex