🗃 DB2
Introduction to DB2
Beginner 🕑 20 min read
👁 0 views
What is DB2?
DB2 is IBM's relational database management system (RDBMS) for mainframes. It stores data in tables and uses SQL (Structured Query Language) for data manipulation.
DB2 Objects
- Database - Collection of related objects
- Tablespace - Physical storage for tables
- Table - Rows and columns of data
- Index - Structure for fast data access
- View - Virtual table based on query
- Stogroup - Collection of DASD volumes
DB2 Data Types
| Type | Description |
|---|---|
| INTEGER | Whole numbers |
| SMALLINT | Small integers |
| DECIMAL(p,s) | Packed decimal |
| CHAR(n) | Fixed-length string |
| VARCHAR(n) | Variable-length string |
| DATE | Date value |
| TIME | Time value |
| TIMESTAMP | Date and time |
COBOL-DB2 Interface
DB2 programs use embedded SQL within COBOL. Key components:
- EXEC SQL...END-EXEC - SQL statement delimiters
- SQLCA - SQL Communication Area
- Host Variables - COBOL variables in SQL
- DCLGEN - Declaration generator
Code Example
* WORKING-STORAGE FOR DB2
WORKING-STORAGE SECTION.
* INCLUDE SQLCA FOR ERROR HANDLING
EXEC SQL
INCLUDE SQLCA
END-EXEC.
* INCLUDE DCLGEN FOR TABLE
EXEC SQL
INCLUDE EMPLOYEE
END-EXEC.
* HOST VARIABLES
01 WS-EMP-ID PIC 9(6).
01 WS-EMP-NAME PIC X(30).
01 WS-EMP-SALARY PIC S9(7)V99 COMP-3.
01 WS-NULL-IND PIC S9(4) COMP.
PROCEDURE DIVISION.
* SIMPLE SELECT
EXEC SQL
SELECT EMP_NAME, SALARY
INTO :WS-EMP-NAME, :WS-EMP-SALARY
FROM EMPLOYEE
WHERE EMP_ID = :WS-EMP-ID
END-EXEC.
* CHECK SQLCODE
IF SQLCODE = 0
DISPLAY "EMPLOYEE FOUND"
ELSE IF SQLCODE = 100
DISPLAY "NO DATA FOUND"
ELSE
DISPLAY "SQL ERROR: " SQLCODE
END-IF.