| DELETE[RECORD] [IN] [STATEMENT] [(r)] | 
This document covers the following topics:
For explanations of the symbols used in the syntax diagram, see Syntax Symbols.
Related Statements: ACCEPT/REJECT |
                          AT BREAK |
                          AT START OF DATA |
                          AT END OF DATA |
                          BACKOUT TRANSACTION |
                          BEFORE BREAK PROCESSING |
                          END TRANSACTION |
                          FIND |
                          GET |
                          GET SAME |
                          GET TRANSACTION DATA |
                          HISTOGRAM |
                          LIMIT |
                          PASSW |
                          PERFORM BREAK PROCESSING
                          | READ |
                          RETRY |
                          STORE |
                          UPDATE 
               
Belongs to Function Group: Database Access and Update
The DELETE statement is used to delete a record from a
                            database.
               
The use of the DELETE statement causes each record
                              selected in the corresponding FIND or READ statement to be placed in
                              exclusive hold.
               
Record hold logic is explained in the section Database Update - Transaction Processing (in the Programming Guide).
A DELETE statement cannot be specified in the same
                            statement line as a FIND,
                            READ, or
                            GET statement.
               
| Syntax Element | Description | 
|---|---|
| (r) | Statement Reference:  The notation
                                                      If no statement reference is specified, the
                                                   | 
| SQL Databases | The  With most SQL databases, a row that was read with a
                                                   | 
|---|---|
| XML Databases | The DELETEstatement is used to delete an
                                             XML object from a database. For XML databases, this implies that only the
                                             record which was read last can be deleted. | 
In this example, all records with the name ALDEN are
                              deleted.
               
** Example 'DELEX1': DELETE                                             
**                                                                      
** 
CAUTION: Executing this example will modify the database records!  
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 NAME                                                                
END-DEFINE                                                              
*                                                                       
FIND EMPLOY-VIEW WITH NAME = 'ALDEN'                                    
  /*                                                                    
  DELETE                                                                
  END TRANSACTION                                                   
  /*                                                                    
  AT END OF DATA                                                        
    WRITE NOTITLE *NUMBER 'RECORDS DELETED'                             
  END-ENDDATA                                                           
END-FIND                                                                
END 
                        
                       
               If no records are found in the VEHICLES file for the
                              person named ALDEN, the EMPLOYEE record for ALDEN is deleted.
               
** Example 'DELEX2': DELETE                                             
**                                                                      
** 
CAUTION: Executing this example will modify the database records! 
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 PERSONNEL-ID                                                        
  2 NAME                                                                
1 VEHIC-VIEW VIEW OF VEHICLES                                           
  2 PERSONNEL-ID                                                        
END-DEFINE                                                              
*                                                                       
EMPL. FIND EMPLOY-VIEW WITH NAME = 'ALDEN'                              
  /*                                                                    
 VEHC. FIND VEHIC-VIEW WITH PERSONNEL-ID = PERSONNEL-ID (EMPL.)        
    IF NO RECORDS FOUND                                                 
      /*                                                                
      DELETE (EMPL.)                                                    
      /*                                                                
      END TRANSACTION
    END-NOREC        
  END-FIND        
  /*                 
END-FIND             
END