• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • How Many Records Did SQL Delete?

    February 4, 2004 Hey, Ted

    I have an RPG IV program with an embedded SQL DELETE statement. Is it possible for my program to determine how many records are deleted when the statement executes?

    –Tom

    DB2/400 returns this information to you through a subfield of the SQL communications area (SQLCA), a data area that is automatically included in your RPG program when you compile. You can refer to this subfield by either of two names: SQLERRD(3) or SQLER3. When a DELETE, UPDATE, or INSERT operation completes normally, DB2 updates the subfield with the number of rows that qualified for the operation.

    C/exec sql                              
    C+             delete from somefile   
    C+              where company = :company
    C/end-exec                              
     /free                                  
                if SQLER3 > *zero;          
    

    I understand that RPG is the only compiler that includes the SQLCA by default. According to the SQL Reference, the COBOL, C, PL/I, and FORTRAN programs must use the SQL INCLUDE command to reference the SQLDA. In the following short COBOL program, the SQLCA is included in the working-storage section.

    Identification division.                   
    Program-ID.    SQL005.                     
                                               
    Environment division.                      
                                               
    Data division.                             
    Working-storage section.                   
    01  Company     pic s999   packed-decimal. 
    01  EmptySet    pic x.                     
                                               
        Exec SQL include SQLCA end-exec.       
                                               
    Procedure division.                        
    Main-logic.                                
        Exec SQL                               
             set option commit=*none           
        end-exec.                              
        Exec SQL                               
             delete from qtemp/cuxt
              where company = 99   
        end-exec.                  
        if SQLERRD(3) > zero       
           move "N" to EmptySet    
        else                       
           move "Y" to EmptySet    
        end-if.                    
        goback.                    
    

    For more information about the SQLCA, consult the DB2 reference on IBM’s Web site.

    –Ted

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Tags:

    Sponsored by
    JAMS Software

    One Scheduler. IBM i, Windows, Linux, and More.

    IBM i teams trust JAMS to schedule and orchestrate jobs across every platform in their environment. Centralized visibility, cross-platform dependency management, and alerts that reach the right person before the business feels it.

    Fewer than 5% of IBM i shops run IBM i only. The rest are managing cross-platform dependencies — often without a clear picture of how they connect. JAMS draws that map, enforces those dependencies automatically, and gives your team a single place to monitor, manage, and recover when something goes wrong.

    If you are running hundreds of CL scripts and custom RPG processes, bring them as-is. JAMS runs them exactly as they do today — except now they are visible, monitored, and part of an orchestrated workflow instead of scattered across folders only one person knows about.

    No consumption-based pricing. No surprise bills when your workload spikes. You pay based on how many machines JAMS talks to — that’s it.

    Learn More → https://jamsscheduler.com/lp/ibm-i

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Setting Up an OS/400 HTTP Firewall Using Reverse Proxy Recovering from WDSc Errors

    Leave a ReplyCancel reply

Volume 4, Number 3 -- February 4, 2004
THIS ISSUE
SPONSORED BY:

ASNA
COMMON
WorksRight Software
Client Server Development
Twin Data

Table of Contents

  • Setting Up an OS/400 HTTP Firewall Using Reverse Proxy
  • How Many Records Did SQL Delete?
  • Recovering from WDSc Errors
  • Admin Alert: Alternate Ways to Ensure a Subsystem Ends
  • OS/400 Alert: alphaWorks and Homeland Security

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • Inside The Encryption Key Management Changes In IBM i 7.6
  • FalconStor Moved To The Blue Lagoon, And Is Poised For Growth Because Of It
  • Guru: Claude’s SQL Tip
  • Astera Makes Extracting Legacy Report Data an AI Specialty
  • IBM i PTF Guide, Volume 28, Number 27
  • Welcoming The New IBM i Chief Architect And Other New Top Brass
  • A Deep Dive Into That Power S1112 Entry Power11 Server
  • Guru: Beyond Three-Part Naming – Running SQL Across Remote IBM i Systems
  • How IBM Bolstered IBM i Resilience In The Summer Tech Refreshes
  • IBM i PTF Guide, Volume 28, Number 26

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle