PROCESS SQL (SQL)

PROCESS SQL ddm-name <<statement-string>>

This document covers the following topics:

For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.

Belongs to Function Group: Database Access and Update

See also PROCESS SQL in the Natural for DB2 part of the Database Management System Interfaces documentation:


Function

The PROCESS SQL statement is used to issue SQL statements to the underlying database.

Syntax Description

Syntax Element Description
ddm-name
DDM Name:

The name of a data definition module (DDM) must be specified to provide the "address" of the database which executes the stored procedure. For more information, see ddm-name.

statement-string
Statement String:

The statements which can be specified in the statement-string are the same statements which can be issued with the SQL statement EXECUTE; see also Flexible SQL.

Warning:
To avoid transaction synchronization problems between the Natural environment and the underlying database, the COMMIT and ROLLBACK statements must not be used within PROCESS SQL.

The statement string can cover several statement lines without any continuation character to be specified. Comments at the end of a line as well as entire comment lines are possible.

The statement string can also include parameters; see Parameters in Statement String below.

Parameters in Statement String

:U

:host-variable [INDICATOR:host-variable] [LINIDICATOR:host-variable]
:G

Unlike with the Parameters described in the section Basic Syntactical Items, the host-variables used in this context must be prefixed by a colon (:). In addition, they can be preceded by a further qualifier (:U or :G).

See further details on host-variable.

Syntax Element Description:

Syntax Element Description
:U:host-variable
"USING" Variable:

The prefix :U qualifies the host variable as a so-called "USING" variable. Such a variable indicates that its value is to be passed to the database.

:U is the default specification.

:G:host-variable
"GIVING" Variable:

The prefix :G qualifies the host variable as a so-called "GIVING" variable. Such a variable indicates that it is to receive a value from the database.

Examples

Example 1 for DB2 (under z/OS):

PROCESS SQL DB2_DDM << CONNECT TO :LOCATION >>

Example 2 for DB2 (under z/OS):

PROCESS SQL DB2_DDM << SET :G:LOCATION = CURRENT SERVER >>