Duration
2 days
Course Overview
This course is designed to provide the database application designer with knowledge to recognize when a stored procedure is the correct solution for an application. The development of stored procedures is taught using the SQL Procedural Language. This course exposes the student to the IBM Optim Development Studio GUI tool to rapidly develop and test SQL stored procedures using the SQL Procedural Language. In addition to using the GUI tool to develop and implement stored procedures, you are taught how to implement these SQL stored procedures using a text editor with the IBM DB2 Command Window and the Command Editor.
The course engages you in a series of lectures, each followed by a hands-on exercise to create and call SQL procedures using extensive process flows and cursor processing to return result sets to the invoking client or caller. Each exercise builds on the previous exercise to allow you to use condition handling, dynamic SQL, user-defined types, large objects, nested procedures, IBM Optim Development Studio debugging facility, SQL procedure tracing using sqlpltrc, security considerations, and tuning and performance techniques.
The course is taught using lectures, demos, and machine exercises on a Windows platform using DB2.
Course Materials
The course materials address DB2 9.7 for Linux, UNIX, and Windows.
Training Path
This course is part of an IBM Training Path. Taking this course in the recommended sequence allows you to maximize the benefits from your education.
Training Paths that reference this course are:
- Application Programming
Special note
IBM Education Advantage Program Eligibility:
- Yes - IBM Education Pack - online account
Audience
This is an intermediate course for database application designers and database application programmers supporting DB2 stored procedures in a Linux, UNIX, or Windows environment.
This course is appropriate for those using DB2 in a z/Linux environment.
Prerequisites
Database application designers and database application programmers supporting DB2 stored procedures with the SQL database language. This prerequisite knowledge can be from prior experience or attendance of the following IBM courses:
- DB2 Family Fundamentals (CE03)
- DB2 SQL Workshop (CE12)
Skills Taught
- Describe stored procedures
- List Intel platform requirements for supporting DB2 stored procedures
- Discuss and demonstrate capabilities of the IBM Optim Development Studio to implement SQL stored procedures
- Describe basic SQL procedure structure
- Demonstrate the use of SQL Procedure Language Elements
- Use cursor processing to return result sets to the invoker
- Handle Exceptions
- Nest Stored Procedures
- Use IBM Optim Development Studio debugging capability to debug an SQL stored procedure
- Use sqlpltrc API to trace SQL stored procedures
- Employ security techniques for SQL procedures
- Analyze and improve SQL access plans
Course Outline
DB2 Stored Procedure Introduction
- Describe a stored procedure
- Determine when a stored procedure should be used
- Describe execution flow using stored procedures
- List DB2 stored procedure design and general tips
IBM Optim Development Studio or Command Line Tools
- Describe the IBM Data Studio Developer
- Identify the capabilities of the IBM Data Studio Developer
- Create and execute simple stored procedures using IBM Data Studio Developer, Command Editor, and Command Window
Basic SQL Procedure Structure
- Describe the structure of an SQL procedure
- Explain various clauses of the CREATE PROCEDURE statement
- Describe the structure of the procedure body
- List the statements that can be coded in the procedure body
- Alter Procedure
- Drop Procedure
- Create Module
- Replace Module
- Alter Module
- Drop Module
Overview of SQL PL Language Elements
- Discuss DB2 data types
- Select the proper data types
- Work with user-defined data types
- Work with Row data type
- Work with Associative arrays
- Implement data type anchoring
Using Flow of Control Statements
- Use Compound statements (ATOMIC and NOT ATOMIC)
- Use labels in both compound statements and loops
- Work with Conditional Statements (IF and CASE)
- Implement Looping (FOR, WHILE,REPEAT, and LOOP)
- Transfer Control using (GOTO, LEAVE, ITERATE, RETURN, COMMIT, and ROLLBACK
Cursors and Result Sets
- Explain cursor processing
- Use cursors inside SQL procedures
- Perform positioned deletes and positioned updates
- Describe cursor behavior on commit and rollback
- Use cursor processing to return result sets to an application
- Explain how cursors affect locking
Condition Handling
- Explain the difference in SQLSTATE and SQLCODE
- Describe a condition handler
- Explain when to use a condition handler
- Use condition handlers
- Force an application exception and set the appropriate message
- Check the success or failure of an SQL statement
- Raise an SQL error
Nested SQL Procedures
- Call a stored procedure
- Describe a nested stored procedure
- Pass parameters between nested SQL procedures
- Return and receive result sets from within nested SQL procedures
- Write recursive SQL procedures
IBM Optim Development Studio SQL Procedure Debug
- Describe the IBM Optim Development Studio Routine Debugger capabilities
- Describe platforms supported for debugging
- Deploy a stored procedure for debugging
- Debug a stored procedure with the assistance of the Routine Debugger
SQL Procedure Tracing using sqlpltrc
- Describe the purpose of sqlpltrc
- Define the process for installing sqlpltrc
- Define the procedures for trace management
- Define the procedures for trace reporting
- Define the procedures for trace entries
- Show the steps to create a sample trace
- Discuss steps used to identify and resolve problems
Security Considerations in SQL Procedures
- Describe the relationship between a DB2 SQL procedure and a package
- Rebind a package associated with an SQL PL procedure
- Define who a package owner is and describe the package owner's responsibilities
- Define who a routine definer is and describe the routine definer's responsibilities
- Describe the routine invoker’s behavior and authorization requirements
SQL Stored Procedures Performance
- Analyze and improve SQL access plans
- Avoid or simplify multiple statements
- Exploit set-at-a-time semantics of SQL
- Improve cursor performance
Agenda
Day 1
- Welcome
- Exercise 1: The exercise environment
- Exercise 2: IBM Optim Development Studio or Command Editor and Command Window
- Exercise 3: Basic SQL Procedure Structure
- Exercise 4: Overview of SQL PL Language Elements
- Exercise 5: Using Flow of Control Statements
- Exercise 6: Understanding and Using Cursors and Result Sets
Day 2
- Exercise 7: Condition Handling
- Exercise 8: Nested SQL Procedures
- Exercise 9: IBM Optim Development Studio SQL Procedure Debug
- Exercise 10: SQL Procedure Tracing using sqlpltrc
- Exercise 11: Security Considerations in SQL Procedures
- Exercise 12: SQL Procedure Performance
Programme scope, delivery arrangements and suitability are confirmed during enquiry.