You can add SQL statements to your program wherever executable statements can appear. Each SQL statement must begin with EXEC (or EXECUTE) SQL and end with a semicolon (;).
For example, an UPDATE statement might be coded as follows:
exec sql update Department set Mgrno = :Mgr_Num where Deptno = :Int_Dept;
Comments
PL/I comments can be included in embedded SQL statements wherever a blank is allowed.
Continuation
The line continuation rules for embedded SQL statements are the same as for other PL/I statements.
Including Code
SQL statements or PL/I host variable declaration statements can be included by placing the following SQL statement at the point in the source code where the statements are to be embedded:
exec sql include {filename | 'filename'};
filename can be enclosed in single quote characters ('). Quotes are required if filename contains any non-alphanumeric characters, as for example,
'inventory.db001'.
Names
Any valid PL/I variable name can be used for a host variable, subject to the following restriction: Do not use host variable names or external entry names that begin with "SQL". These names are reserved for the database manager or Open PL/I. The length of a host variable name must not exceed 30 characters.
Statement Labels
With the exception of the END DECLARE SECTION statement and the INCLUDE text-filename statement, executable SQL statements, like PL/I statements, can have a label prefix.
WHENEVER Statement
The target for a GOTO clause in an SQL WHENEVER statement must be a label in the PL/I source code and must be within the scope of any SQL statements affected by the WHENEVER statement.