Table of Contents
- Overview
- Data manipulation (DML)
- Cursors
- Stored procedures & dynamic SQL
- Transactions & diagnostics
- Connectivity
- Summary
- Related articles
Audience: developers and technical decision-makers checking which embedded-SQL features a Heirloom-migrated PL/I application supports.
Overview
This is a quick reference to the embedded SQL (EXEC SQL) features the runtime supports, grouped by area with a one-line explanation each. The runtime implements SQL directly and runs it over standard JDBC (typically against DB2); your migrated PL/I keeps its EXEC SQL statements unchanged.
For connection setup, see How to Configure DB2 / SQL Connectivity. For CICS commands, see the companion article Supported CICS Features.
Note: This is a summary of the commonly used surface, not an exhaustive clause-by-clause specification. If you need confirmation that a specific statement or clause your application relies on is covered, contact Heirloom support with the detail.
Data manipulation (DML)
| Feature | Purpose |
|---|---|
SELECT (singleton and cursor) |
Read rows into host variables |
INSERT, UPDATE, DELETE
|
Modify data |
MERGE |
Insert-or-update in one statement |
TRUNCATE |
Empty a table |
Cursors
| Feature | Purpose |
|---|---|
DECLARE CURSOR, OPEN, FETCH, CLOSE
|
Row-by-row processing of a result set |
Cursors map to JDBC result sets and are released at program completion.
Stored procedures & dynamic SQL
| Feature | Purpose |
|---|---|
CALL |
Invoke a stored procedure |
PREPARE, EXECUTE, DESCRIBE (with SQLDA) |
Build and run SQL dynamically at run time |
Transactions & diagnostics
| Feature | Purpose |
|---|---|
COMMIT, ROLLBACK
|
Control the unit of work |
SET |
Assign host variables / special registers |
SQLCA (SQLCODE / SQLSTATE) |
Standard result / diagnostic feedback after each statement |
GET DIAGNOSTICS |
Detailed diagnostic information |
SQL work commits or rolls back at the transaction boundary, together with other transactional resources such as MQ messages under syncpoint.
Connectivity
| Feature | Purpose |
|---|---|
Default & named connections (sql.<conn>.*) |
Target one or more databases over JDBC |
| Datasource / connection pooling | Container-managed connections |
| Compatibility switches | Match specific mainframe DB2 behaviors (see the SQL connectivity guide) |
Summary
The supported SQL surface covers full DML (SELECT/INSERT/UPDATE/DELETE/ MERGE/TRUNCATE), cursors, stored-procedure CALL, dynamic SQL (PREPARE/EXECUTE/DESCRIBE with SQLDA), transaction control, and SQLCA/diagnostics — over JDBC, with single or multiple database connections. This list is a summary; contact support to confirm a specific statement or clause.
0 Comments