DB2 for z/OS, SQL and Application Programming


First, the concepts of DB2 are presented and discussed.

The Structured Query Language (SQL) is presented as the means to access DB2 data (and to create and secure DB2 components). Several guided, hands-on, practice sessions give each attendee an opportunity to use SQL to access data. QMF and/or SPUFI are used to execute SQL statements. Referential Integrity concepts and implementation are covered.

DB2 (SQL) programming / embedding SQL in a COBOL application program is presented and discussed in detail. A "shell" program is modified to SELECT a single row, FETCH multiple rows, INSERT, UPDATE, and DELETE row(s), use Referential Integrity, and use column functions and grouping.

DB2 performance guidelines are discussed. The SQL statement EXPLAIN PLAN is used to help to evaluate the efficiency of SQL statements.

The following "Release Dependent" features are also covered -

  • Version 8 - Table-Controlled Partitioning, Common Table Expression, Dynamic Scrollable Cursors, multi-row FETCH and INSERT, GET DIAGNOSTICS, Recursive SQL, Sequence Objects, Scalar Full Select, Select Statement In An Insert statement, Delimited LOAD / UNLOAD, MQT's
  • Version 9 - PureXML, New Data Types - bigger BINARY, VARBINARY, BIGINT, DECFLOAT, INSTEAD OF triggers, INTERSECT and EXCEPT, TRUNCATE Statement, MERGE Statement, Native SQL Stored Procedures, Optimistic Concurrency Control, Automatic Object Creation, Skip Locked Data, REOPT (AUTO)

As a result of this class, the attendee will be able to

  • Explain DB2 concepts, terminology and components
  • Discuss the Primary Key (PK), Unique Key (UK) and Foreign Key (FK) concept
  • SELECT rows of data from DB2 tables
  • Use QMF and/or SPUFI to "run" SQL statements
  • Use the WHERE clause to SELECT specific rows of a DB2 table
  • Build queries using the ORDER BY, GROUP BY, HAVING clauses
  • Use the CASE expressions and several SCALAR / COLUMN FUNCTIONS
  • Access multiple tables - JOIN, UNION, sub-queries, nested table expressions
  • CREATE Tables, Indexes, Views
  • "Change" tables using the INSERT, UPDATE, DELETE statements
  • Describe the security provided by the GRANT and REVOKE
  • Discuss the design considerations of REFERENTIAL INTEGRITY
  • Perform DCLGENs to build table definitions and I/O areas
  • Modify a "shell" program to select a single row, multiple rows, and change rows
  • Discuss the importance of the SQLCODE and how to test for it
  • Discuss overall DB2 PERFORMANCE considerations
  • Run the EXPLAIN PLAN or VISUAL EXPLAIN and analyze results

Experienced Data Processing personnel who need use SQL to design and develop programs to access DB2 data.


At least six months of TSO/ISPF and COBOL programming experience is recommended. No previous database experience is needed.

Course duration

5 days

Course outline

  1. Introduction to DB2

    • Course Introduction
    1. DB2 - Concepts, and Terminology

  2. Structured Query Language (SQL)

    1. SQL 1 - The SELECT Statement
           Hands-on Lab - SELECT
    2. Database 2 Interactive
    3. SQL 2 - SQL Functions
           Hands-on Lab - SELECT / Special Features
           Hands-on Lab - ORDER BY, GROUP BY, HAVING
  1. Structured Query Language (SQL)(Continued)

    1. SQL 4 - Join, Sub-select, UNION
           Hands-on Lab - Join, Sub-select, UNION
    2. SQL 5 - Data Definition Language
           Hands-on Lab - Creating DB2 Components - INSERT, UPDATE, DELETE
    4. SQL 8 - Other SQL Topics
  1. DB2 Application Programming

    1. SQL Programming I - Overview
    2. SQL Programming II - Data and Procedure Division Changes
           Hands-on Lab - SELECT a single row into a program
    3. SQL Programming III - SELECTing Multiple Rows
           Hands-on Lab - SELECT more than one row - the CURSOR

  1. DB2 Application Programming (Continued)

    1. Concurrency Control - Locking
    2. SQL Programming IV - INSERT, UPDATE, DELETE
           Hands-on Lab - updating and Referential Integrity
  1. DB2 Application Programming (Continued)

  2.      Hands-on Lab - updating and Referential Integrity
  3. Additional Topics

    1. SQL Programming V - Other Programming Considerations
    2. DB2 Performance Introduction - EXPLAIN PLAN or VISUAL EXPLAIN Hands-on Lab - Analyze SQL statements

Appendix A - IBM Sample Tables Appendix I - DB2 for WINDOWs Overview
Appendix B - Bibliography Appendix J - Additional Features - UDT / UDF, Trigger, Casting
Appendix C - The Programming Workshop Appendix K - Group By Extensions
Appendix D - Plan_Table & Dsn_Statemnt_Table Appendix Appendix L - Visual Explain Overview
Appendix E - Hints to Success Appendix M - Functions
Appendix F - SQLCODES / SQLSTATES Appendix Z8- Changes Summary - DB2 V 8
Appendix G - QMF Overview Appendix Z9 - Changes Summary - DB2 V 9
Appendix H - Stored Procedures Appendix Z9 - AppV9B - DB2 V9 Summary from IDUG Solution Journal

Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy